特殊成员函数有哪些
在C++的术语中,特殊成员函数是指C++自己生成的函数。在C++98中有四个:默认构造函数,析构函数,拷贝构造函数,拷贝赋值运算符。这些函数只有在需要的时候才会生成,比如某段代码使用他们,但是没有再类中声明。默认构造函数仅在类完全没有构造函数的时候才会生成(防止编译器为某个类生成构造函数,但是你希望的那个构造函数是由参数的)。生成的特殊成员函数都是隐式的public且inline。除非该类是继承自某个具有虚函数的类,否则生成的析构函数是非虚的。
在C++11特殊成员函数又增加了两个:移动构造函数,移动赋值运算符。他们的形式是这样的
class widget {
public:
...
widget(widget