你了解复制不仅仅是Ctrl C和Ctrl V吗?深浅拷贝的差别你知道吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2764个文字,预计阅读时间需要12分钟。
C++中默认成员函数的复制赋值分为浅拷贝和深拷贝。此外,还有复制构造函数的重载。
一、复制构造函数的定义:- 复制构造函数:只有一个形参,该形参是对同一类类型对象的引用。- 复制构造函数的功能:使用对象的副本来初始化新对象。
二、复制构造函数的调用:- 当使用一个已经存在的对象来初始化一个新对象时,会自动调用复制构造函数。- 当创建一个对象数组时,也会调用复制构造函数来初始化数组中的每个元素。
类中有6大默认成员函数
本文将详细介绍C++默认成员函数的拷贝赋值,拷贝构造分为浅拷贝和深拷贝。还有拷贝构造的重载。
一、拷贝构造函数的定义
拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存
在的类类型对象创建新对象时由编译器自动调用。
二、拷贝构造的特征
拷贝构造函数也是特殊的成员函数,其特征如下:
1. 拷贝构造函数是构造函数的一个重载形式,无返回值。
2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报错,因为会引发无穷递归调用。
本文共计2764个文字,预计阅读时间需要12分钟。
C++中默认成员函数的复制赋值分为浅拷贝和深拷贝。此外,还有复制构造函数的重载。
一、复制构造函数的定义:- 复制构造函数:只有一个形参,该形参是对同一类类型对象的引用。- 复制构造函数的功能:使用对象的副本来初始化新对象。
二、复制构造函数的调用:- 当使用一个已经存在的对象来初始化一个新对象时,会自动调用复制构造函数。- 当创建一个对象数组时,也会调用复制构造函数来初始化数组中的每个元素。
类中有6大默认成员函数
本文将详细介绍C++默认成员函数的拷贝赋值,拷贝构造分为浅拷贝和深拷贝。还有拷贝构造的重载。
一、拷贝构造函数的定义
拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存
在的类类型对象创建新对象时由编译器自动调用。
二、拷贝构造的特征
拷贝构造函数也是特殊的成员函数,其特征如下:
1. 拷贝构造函数是构造函数的一个重载形式,无返回值。
2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报错,因为会引发无穷递归调用。

