1. 5 种函数
• 拷贝构造函数(copy construcor)
• 拷贝赋值运算符(copy-assignment operator)
• 移动构造函数(move constructor)
• 移动赋值运算符(move-assignment operator)
• 析构函数(destructor)
2. 定义
拷贝构造/移动构造:用同一类型的一个对象初始化另一个对象;
拷贝赋值/移动赋值:用一个对象对另一个对象进行赋值运算;
析构函数:对象销毁时做什么。
如果一个类没有定义构造函数或析构函数,编译器会自动生成一个默认缺失的操作,但是这可能会引起一些问题