首先,看看拷贝构造函数使用的三种情形:
1、用一个对象去初始化另一个对象时,注意是初始化而不是赋值;
2、将对象作为形式参数传给函数时,这点要注意,当函数的形参是对象的常引用,即形如const XX& y的情形,没有调用拷贝构造函数;
3、函数返回对象时
一个特别注意的点是:类不一定有默认构造函数,但一定有默认复制构造函数!!!默认复制构造函数实现了把源对象到目标对象一个字节一个字节的复制,但是如果我们自己写了一个复制构造函数,那么它就会覆盖默认复制构造函数,也就是说,它就不能再把源对象到目标对象再一个字节一个字节地复制过去了,如果还想实现这样的效果,就需要我们自己去写!!!
相关文章
- 12-20传递给构造函数的Python函数引用变为c_void_p数据类型
- 12-2092、构造函数、拷贝构造函数和赋值操作符的区别
- 12-20Android Dagger-没有no-args构造函数的模块
- 12-20dagger:定义在其构造函数中使用上下文的可注入类的正确方法
- 12-20【C++学习之路】派生类的构造函数(三)
- 12-20关于 printf() 函数的三张表格
- 12-20Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除
- 12-20关于STL中iota()函数的使用
- 12-20关于STL容器vector与移动构造函数的小坑
- 12-20关于函数返回值/打印语句为忐或烫的问题