编译器是否合成拷贝控制成员:
总的来说就是一句话,如果一个类有数据成员不能默认构造,拷贝,复制或销毁,则对应的成员函数被定义为删除的.
拷贝控制成员定义与否与该类是否定义了其他拷贝成员函数无关.
编译器合成移动控制成员的条件是:
没有定义自己的拷贝控制成员,且类的每个非static数据成员都是可移动的.
总的来说就是一句话,如果一个类有数据成员不能默认构造,拷贝,复制或销毁,则对应的成员函数被定义为删除的.
拷贝控制成员定义与否与该类是否定义了其他拷贝成员函数无关.
没有定义自己的拷贝控制成员,且类的每个非static数据成员都是可移动的.