浅拷贝分享指针吗? (C ++)

时间:2009-10-30 02:15:33

标签: c++ pointers class shallow-copy default-copy-constructor

我知道如果我做这样的事情:

class Obj
{
public:
    int* nine;
};

Obj Obj1; //Awesome name
int eight = 8;
Obj1.nine = &eight;
Obj Obj2 = Obj1; //Another Awesome name

然后Obj1Obj2的{​​{1}}将指向相同的nine,但它们会共享相同的指针吗?即:

8

int Necronine = 9; Obj1.nine = &Necronine; Obj2.nine == ??? 的{​​{1}}指向Obj2,还是会指向nine

1 个答案:

答案 0 :(得分:4)

  

Obj2将九点指向Necronine,   还是会继续指向8?

它将保持指向8.当执行此行时: Obj Obj2 = Obj1; //每个对象都有自己的指针 value(copy)的{​​{1}}被复制到obj1.nine,就是这样。