c++ - 是否有任何编译器标志可以使默认移动构造函数“清空”移动参数?
问题描述
由于std::move()
只是一个强制转换操作,默认的移动构造函数并没有真正清空参数。这导致我必须自己编写所有移动构造函数,这很无聊并且容易出错(例如我添加了一个成员但忘记在移动构造函数中处理它)。
那么任何编译标志可以让我的生活更轻松吗?
更何况有人说不清std::move()
空值是因为“你不需要的东西你不买”的原则,我很好奇有没有不需要“清空”操作的情况?所有析构函数都需要使用该值来决定是否释放资源,“清空”该值对我来说似乎是必须的......
解决方案
推荐阅读
- javascript - nodemon反复重启
- apache-kafka - json列作为kafka生产者的key,根据key推送到不同的partition
- javascript - 在视图页面上使用 JavaScript 上的 Viewbag 数据
- flutter - Flutter IOS 构建失败
- angular - 无法从 ngOnInit() 中设置 page$.layout
- django - 为什么我的序列化程序字段不显示?
- arrays - CS50 Pset4 边缘编码 - 类型“RGBTRIPLE [宽度]”的索引 601 错误超出范围
- amazon-web-services - 在 us-east-1 区域中启动给定的 cloudformation 模板时出错。(构建 lambda 函数接收错误)
- python - 打印时如何去除 sys.argv 前后的空格?
- google-apps-script - 根据其他工作表列值隐藏或取消隐藏电子表格