C++ 为什么当类中有指针类型的成员变量时,一定要重写拷贝构造函数和赋值运算符,不要使用默认的。

2025-02-22 13:29:59
推荐回答(3个)
回答(1):

默认的拷贝构造函数和赋值函数是浅拷贝 相当于两个对象的成员指针变量共同指向一片内存首地址,这样会导致当一个对象修改这片内存时 另外一个对象也会受到影响
可以参考下这篇文章http://blog.csdn.net/bluescorpio/article/details/4322682

回答(2):

因为默认的拷贝构造函数和赋值函数是浅拷贝

回答(3):

谁说的,除非指针指向的对象(们)也是这个类管理的。。