0
A
回答
0
如果你的类包含指针成员,这是动态分配那么你需要提供自己的版本的副本construcor,因为默认版本只是使它们的浅拷贝。
+0
这个规则太宽泛了,对于我实现的任何具有指针的类,通常都只是false。几乎我使用指针的唯一原因是非拥有可重定义的引用。在这种情况下,编译器生成的拷贝构造函数很好。 –
+0
@Benjamin Lindley:希望能帮助你更好地理解。 –
0
不是。
默认的复制构造函数在99.9%的情况下是完美的。
拥有指针的类的例外。这里默认拷贝构造函数的浅拷贝不能像初学者所期望的那样工作。
但是,你永远不应该在你的类中有指针,所以它不成问题。为了清楚这一点,任何拥有的指针都应该包含在智能指针(或容器类型)对象中。所以这不是问题。
如果您正在编写一个智能指针或像对象一样的容器,那么您需要实现三条规则。
相关问题
- 1. C++默认的拷贝构造函数
- 2. C++默认拷贝构造函数
- 3. 用模板拷贝构造函数替换默认拷贝构造函数
- 4. 转发拷贝构造函数问题
- 5. 的拷贝构造函数
- 6. 删除拷贝构造函数结果中删除默认的构造函数
- 7. 使用默认生成的拷贝构造函数Q_DECLARE_METATYPE
- 8. 是否可以“添加”到默认的拷贝构造函数?
- 9. C++是什么Derived默认拷贝构造函数初始化Base拷贝构造函数用?
- 10. 拷贝构造函数
- 11. 拷贝构造函数knowlege
- 12. 拷贝构造函数++
- 13. 拷贝构造函数与邻接表
- 14. 2默认拷贝构造函数:有可能吗?
- 15. C++编译器如何合成默认拷贝构造函数
- 16. g ++中奇怪的C++构造函数/拷贝构造函数问题
- 17. 问题的ostringstream和拷贝构造
- 18. 查找类拷贝构造的问题
- 19. C++的std :: deque的拷贝构造函数问题
- 20. 复制构造函数中的深拷贝的问题
- 21. Java的ArrayList的拷贝构造函数
- 22. 拷贝构造函数和函数从
- 23. 模板类隐含的拷贝构造函数问题
- 24. 基类的拷贝构造函数(C++)
- 25. C++中的拷贝构造函数
- 26. 奇怪的拷贝构造函数
- 27. Java的拷贝构造函数
- 28. 拷贝构造函数的地址
- 29. shared_ptr的拷贝构造函数里面
- 30. 新图的深拷贝构造函数
http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three – Mahesh