当写下一个空类时,编译器会为你合成一个拷贝构造函数、一个拷贝赋值运算符、一个析构函数,如没有声明其他的构造函数,编译器会合成一个默认构造函数。这些都是inline的public成员。
当类有一个引用成员或const成员时,编译器不会合成拷贝赋值运算符。
如某个基类将拷贝赋值运算符声明为private的,则编译器不会为派生类合成拷贝赋值运算符,因为派生类无法处理基类的成分。
C++ 11中当没有定义任何拷贝控制成员且所有成员都能移动时,会合成移动构造函数和移动赋值运算符。
当写下一个空类时,编译器会为你合成一个拷贝构造函数、一个拷贝赋值运算符、一个析构函数,如没有声明其他的构造函数,编译器会合成一个默认构造函数。这些都是inline的public成员。
当类有一个引用成员或const成员时,编译器不会合成拷贝赋值运算符。
如某个基类将拷贝赋值运算符声明为private的,则编译器不会为派生类合成拷贝赋值运算符,因为派生类无法处理基类的成分。
C++ 11中当没有定义任何拷贝控制成员且所有成员都能移动时,会合成移动构造函数和移动赋值运算符。