我知道如果我做这样的事情:
class Obj
{
public:
int* nine;
};
Obj Obj1; //Awesome name
int eight = 8;
Obj1.nine = &eight;
Obj Obj2 = Obj1; //Another Awesome name
那么
Obj1
和Obj2
的nine
将指向相同的8
,但是它们将共享相同的指针吗?即:int Necronine = 9;
Obj1.nine = &Necronine;
Obj2.nine == ???
Obj2
的nine
会指向Necronine
,还是保持指向8
? 最佳答案
将Obj2的九点指向Necronine,
还是会保持指向8?
它将始终指向8。执行此行时:
Obj Obj2 = Obj1; //每个对象都有自己的指针value(copy)
的obj1.nine
复制到obj2.nine
中。