默认拷贝构造函数及其问题

可能重复:
什么是三项规则?

为什么建议提供复制构造函数的实现而不是使用编译器提供的“默认复制构造函数”?


如果你的类包含指针成员, 它们是动态分配的,那么你需要提供你自己的拷贝构造版本,因为默认版本只是对它们进行浅度拷贝。


不是。

在99.9%的情况下,默认的拷贝构造函数是完美的。

拥有指针的类的例外。 这里默认拷贝构造函数的浅拷贝不能像初学者所期望的那样工作。

但是,你不应该在你的课堂上有指针,所以它不会成为问题。 为了清楚这一点,任何拥有的指针都应该包含在智能指针(或容器类型)对象中。 所以这不是问题。

如果你正在写一个智能指针或像对象那样的容器,那么你需要实现三条规则。

链接地址: http://www.djcxy.com/p/73187.html

上一篇: Default copy constructor & its problems

下一篇: Calling a subclass method causes a segmentation fault