使用拷贝构造函数与使用重载的“=”重载函数的区别
2010-10-14 09:51
253 查看
拷贝构造函数是将一个对象的内容完全复制给另一个对象;而使用重载=的话,很可能类中有指针,这样的话,只能将栈中的内容复制过去,堆中的内容不能复制过去,这样的话,对象之间有联系,删除一个对象会出现问题。
在C++中,下面三种对象需要拷贝的情况。因此,拷贝构造函数将会被调用。
1). 一个对象以值传递的方式传入函数体
2). 一个对象以值传递的方式从函数返回
3). 一个对象需要通过另外一个对象进行初始化
参考网页:
http://topic.csdn.net/u/20080310/22/c14ec918-6040-465d-be29-95c10893df85.html
在C++中,下面三种对象需要拷贝的情况。因此,拷贝构造函数将会被调用。
1). 一个对象以值传递的方式传入函数体
2). 一个对象以值传递的方式从函数返回
3). 一个对象需要通过另外一个对象进行初始化
参考网页:
http://topic.csdn.net/u/20080310/22/c14ec918-6040-465d-be29-95c10893df85.html
相关文章推荐
- C++拷贝构造函数的调用时机,如没有重载等号操作符,需重写使用深拷贝
- 重载赋值运算符与拷贝构造函数的区别
- 针对重载函数调用运算符的一个使用的例子,也就是重载()这个括号
- C#基础篇 重写与重载,以及其中设计的虚方法和抽象方法的使用和区别
- 【C++】复制构造函数(拷贝构造函数)和=运算符重载使用的区别
- c#中多态的学习与使用方法以及重写(覆盖)和重载的区别
- 对C++虚函数使用的深刻体会,以及覆写,重载的区别?
- C++拷贝构造函数与重载‘=’的区别
- 自定义类型在使用容器存副本时需要注意重载赋值和拷贝构造函数
- C#基础篇 重写与重载,以及其中设计的虚方法和抽象方法的使用和区别
- [ZZ]重载赋值运算符与拷贝构造函数的区别
- c++ const在重载overload和覆盖override上使用区别
- 自己对C++虚函数使用的深刻体会,以及覆写,重载的区别?
- C#基础篇 重写与重载,以及其中设计的虚方法和抽象方法的使用和区别
- Cpp--拷贝构造函数与赋值运算符重载函数的区别与使用
- 拷贝构造函数与重载赋值操作符的区别
- 使用拷贝构造函数和赋值运算符的区别
- Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
- mysql和oracle的区别(功能性能、选择、使用它们时的sql等对比)
- 重载与重写的区别