移动构造函数的潜规则

<默认合成移动操作>

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

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

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


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

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

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

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


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

c++prime  p477


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容