42.移动构造函数的合成规则

版权声明:本博客为记录本人学习过程而开,内容大多从网上学习与整理所得,若侵权请告知! https://blog.csdn.net/Fly_as_tadpole/article/details/83153062

不会使用移动造作:

当类的类成员定义了自己的拷贝构造函数且未定义移动构造函数

当类的类成员没有定义自己的拷贝构造函数且编译器不能为其合成移动构造函数

当有类的成员的移动构造函数或者移动赋值运算符是删除的或者不可访问的

当类的成员存在成员引用或者const的时候,移动赋值运算符被定义为删除的


如果一个类定义了自己的移动构造函数和/或移动赋值运算符,则该类的拷贝构造函数和拷贝赋值运算符被定义为删除的

只有当一个类没有定义自己的拷贝控制成员,且类的每个非static成员都可以移动,编译器才会为它合成移动构造函数或移动赋值运算符。

猜你喜欢

转载自blog.csdn.net/Fly_as_tadpole/article/details/83153062
42.