C++Primer第13章 拷贝控制

当定义一个类时,我们显示地或隐式地指定在此类型的对象拷贝、移动、赋值和销毁时的操作。

一个类通过定义五种特殊的成员函数来控制这些操作,我们称这些操作为拷贝控制操作

  • 拷贝构造函数、移动构造函数:定义了当用同类型的另一个对象初始化本对象时做什么
  • 拷贝赋值运算符、移动赋值运算符:定义了将一个对象赋予同类型的另一个对象时做什么
  • 析构函数:定义了此类型对象销毁时做什么

如果一个类没用定义所有这些拷贝控制成员,编译器会自动为它定义缺失的操作。

在定义任何C++类的时候,拷贝控制操作都是必要的部分。

13.1 拷贝、赋值与销毁

13.1.1 拷贝构造函数

如果一个构造函数的第一个参数自身类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数。

class Foo{
   
public:
    Foo()
原文地址:https://www.cnblogs.com/chmod/p/15489912.html