码:

int x = 2;
int* pointerone = &x;
int* pointertwo = pointerone;


因此,将pointerone的地址分配给pointertwo,但是复制构造函数被调用,并且保存该地址的对象被复制到另一个指针的地址对象中,就像其他类型的所有默认复制构造函数执行的是浅表副本。如果符合我的预期,则指针的副本构造函数是什么样的?

最佳答案

这里没有构造函数。实际上,此代码是纯C代码。

int x = 2;

// pointerone points to the memory address of x
int* pointerone = &x;

// pointertwo points to the same address than pointerone,
// therefore it points also to the memory address of x
int* pointertwo = pointerone;


就这样。

甚至在C ++中,指针也没有构造函数,就像int类型没有构造函数一样。

关于c++ - 将指针分配给另一个指针时会发生什么情况?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44971813/

10-10 10:57