c++ - 在 std::move() 之后 std::vector 存储会发生什么
问题描述
我打电话,std::vector.reserve()
然后我打电话std::move()
给那个矢量对象。我需要重新分配空间吗?移动会改变向量的容量吗?
解决方案
向量[6]的移动构造函数只保证other.empty() == true
(other
作为被移动对象) 在移动发生之后,它不保证任何关于capacity()
被移动向量的 。所以你不能确定它是否改变了容量。
所以,回答你的问题:
移动会改变向量的容量吗?
这是未指定的。
推荐阅读
- android - 小米设备的 ACTION_CHOOSER 对话框中不显示应用程序图标
- airflow - Airflow - 根据假期日历在不同时间运行 dag
- javascript - 打开子菜单不会下推其余内容
- delphi - Why is FMX TScrollBar OnMouseUp not working?
- python - 如何在视频源中围绕移动对象绘制“水平”圆圈
- javascript - 用JS从列表中删除最近元素的URL
- java - Object.class 上的 Jackson UntypedObjectDeserializer 仅取消实现日期字符串而不是其他字符串
- reactjs - LocalStorage 中的令牌存在但未放入我的 Axios 实例中
- excel - Vlookup 并检查 Excel 中的条件
- c++ - 如何通过成功评估单引号中的转义序列来解决平衡括号?