一般地,编译器会默认为一个类生成:
- 默认构造函数:X()
- 拷贝拷贝构造函数:X(const X &)
- 拷贝赋值运算符:X& operator(const X&)
- 移动构造函数:X(x&&)
- 析构函数:~X()
如果用户自定义了其中部分或全部,则编译器不再生成对应的。
函数 = default明确地告诉编译器,自己不生成这些中的一些或全部,由编译器来生成。
一般地,编译器会默认为一个类生成:
如果用户自定义了其中部分或全部,则编译器不再生成对应的。
函数 = default明确地告诉编译器,自己不生成这些中的一些或全部,由编译器来生成。