我在主要的根目录。然后在另一个.cpp中我做了类似
的事情TreeNode * current = this;
然后,如果我做
current = current->right;
所以我可以走下树了。它会改变“这个”指的是什么吗?
答案 0 :(得分:2)
它会改变'this'指的是什么吗?
否即可。
current
不是this
的别名,无论如何都无法更改this
指针。
这是你在做什么。假设this
指向某个对象,并调用OBJECT1
。一开始,你有这种情况:
[ this --------> OBJECT1 ] (this points to OBJECT1)
执行此操作后
TreeNode * current = this;
你有这种情况:
[ this --------> OBJECT1 ] (this points to OBJECT1)
[ current -----> OBJECT1 ] (current also points to OBJECT1)
执行此操作后......
current = current->right;
你有这种情况:
[ this --------> OBJECT1 ] (this still points to OBJECT1)
[ current -----> OBJECT2 ] (current now points to a different object)
OBJECT2
是指向的对象或OBJECT1->right
。
答案 1 :(得分:1)
不,您将this
的值复制到current
。更改current
不会影响this
。无论如何,您无法更改this
的值。