Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
关于指针的快速问题。在这个例子中:
Object *O; Object** array = new Object*[3]; O = array[0];
在本例中,O 是指向点数组[0] 还是位于该位置的对象?例如,如果索引 0 中的那个对象被交换为点 2 中的对象,我知道 O 应该仍然可以访问该对象,而不是现在数组 [0] 中的新对象,对吗?
抱歉,只是想仔细检查一下。已经工作了一天不睡觉,并且开始质疑此时是什么。
你的假设是正确的。
在进行O = array[0];赋值时(相当于 write O = (*array);),您将存储在数组中的指针复制到指针变量 O。之后对数组的任何更改都不会更改 O 的内容,因为它是一个副本。
O = array[0];
O = (*array);