跳转至

Copy constructor

简介

参考手册: copy constructor

T的拷贝构造函数是指第一个参数为T&,const T&,volatile T&const volatile T&,与此同时不存在其他参数,或者其他参数均有默认值。

声明语法

class_name(const& class_name);

定义语法

class_name : class_name(const& class_name)
{
    ...
}

使用方式

以下三种方式都会调用T的拷贝构造函数:

  • 直接初始化: T a = b; T a2(b);
  • 函数参数传递: void f(T a);
  • 函数返回值: 在T不支持移动构造函数的时候,在函数f中返回T的对象
class_name b; // use default constructor
class_name a(b); // use copy constructor
class_name a = b; // use copy constructor