从指针中减去一个整数的结果是什么?

时间:2021-05-20 16:54:12

标签: c++ pointers

我在学习数据结构 当我阅读这段代码时,我无法理解

void kth(int k){
    Node* x = root;
    while(1){
       while(x->l && x->l->cnt > k) x = x->l;
       if(x->l) x -= x->l->cnt; // **==> ?????**
       if(!k--) break;
       x = x->r;
    }
    splay(x);
}

所有其他行都可以理解,但是

 if(x->l) x -= x->l->cnt; // **==> ?????**

这行看不懂 x 是指向地址的指针

但是cnt是一个整型变量,

而x是由'new'操作符分配的指针

x -= x->l->cnt

这行是什么意思?

这行代码在语法或语义上是否正确?

0 个答案:

没有答案
相关问题