- 0
- 0
- 约3.75千字
- 约 8页
- 2021-12-08 发布于湖北
- 举报
C++中复制构造函数与重载赋值操作符的
深入分析
在 C++中复制控制是一个比较重要的话题,主要包
括复制构造函数、重载赋值操作符、析构函数这三部分,
这三个函数是一致的,如果需要手动定义了其中了一个,
那么另外的两个也需要定义,通常在存在指针或者前期
相关操作的情况下,都需要手动的定义。复制构造函数
与重载赋值操作符实现的大题相同,如果没有手动的实
现,那么编译器会自动生成一个,而且这两个函数的参
数也是一致的,是不能够改变的,这是为什么呢?这是
值得我们去分析和推敲的。析构函数相比前面的两个存
在一个巨大的差别,就是无论我们是否定义这个函数,
编译器都会自动生成一个析构函数。析构函数我认为主
要是完成对象的释放操作,我就不去仔细的分析啦。
我们现在着重来分析一下为什么复制构造函数与重
载赋值操作符在没有定义的情况下,编译器会为我们生
成一个,这说明这两个函数是一个类必不可少的部分。
由此可知如果一个类没有定义任何的东西,编译器也会
帮助我们生成下面的 4 个函数: 1、一个构造函数,也就
是所谓的类名比如 classname(), 这是在没有定义构造
原创力文档

文档评论(0)