移动构造函数的潜规则

2017-03-20  本文已影响0人  jazzi

<默认合成移动操作>

当一个类没定义任何拷贝控制成员。

所有数据成员满足满足移动构造或移动赋值时。

相反,定义移动或赋值构造函数后,拷贝或赋值构造函数不会被默认合成,除非显示定义。


<=default时被编译器定义为删除函数>

类成员不具有(delete也算)有或合成移动构造函数。

类的析构函数不存在或背dalete。

成员为const(无法被释放)或者引用(释放之后另外的引用就失效了)。


<拷贝构造函数也可以代替移动构造函数>

c++prime  p477


上一篇 下一篇

猜你喜欢

热点阅读