首页 > 解决方案 > 是否有任何编译器标志可以使默认移动构造函数“清空”移动参数?

问题描述

由于std::move()只是一个强制转换操作,默认的移动构造函数并没有真正清空参数。这导致我必须自己编写所有移动构造函数,这很无聊并且容易出错(例如我添加了一个成员但忘记在移动构造函数中处理它)。

那么任何编译标志可以让我的生活更轻松吗?

更何况有人说不清std::move()空值是因为“你不需要的东西你不买”的原则,我很好奇有没有不需要“清空”操作的情况?所有析构函数都需要使用该值来决定是否释放资源,“清空”该值对我来说似乎是必须的.​​.....

标签: c++gccclangmsvc12

解决方案


推荐阅读