默认和删除函数(C++11)笔记
类的特殊成员函数
在C++中定义一个类,会默认生成以下6个成员函数:
- 默认构造函数
- 析构函数
- 复制构造函数
- 复制赋值运算符函数
- 移动构造函数(C++11 新增)
- 移动赋值运算符函数(C++11 新增)
这些功能很实用,在我们直接定义一个类之后,能够直接互相拷贝,而不用为了编译器语法的原因一定要写一遍这些函数。
但是它也有一些潜规则:
- 声明任何构造函数都会抑制默认构造函数的添加。
- 一般用自定义的构造函数替代默认构造函数,类就会转化为非平凡类型。
非平凡类
什么是平凡类什么是非平凡类呢?
这里的概念是出自C语言[……]