移出向量的空性:探索选项
在 C 编程领域,向量是通用的数据结构,通常用于其高效的内存管理。然而,在理解移出向量的行为时,程序员可能会遇到关于其空性的问题。
标准定义和要求
C 标准提供了通用的对象被移走后的行为准则,如 N3485 17.6.5.15 中所述[lib.types.movedfrom]/1:
“C 标准库中定义的类型的对象可以从 (12.8) 移动。移动操作可以显式指定或隐式生成。除非另有指定,否则此类移动-from 对象应置于有效但未指定的状态。”
虽然此规定没有明确排除向量,但也没有提供关于向量的具体指导
检查移动构造函数
向量的移动构造函数,vector
探索移动分配和分配器影响
The移动赋值运算符、向量
结论
虽然向量在移动后通常会变空,但也有例外,具体取决于分配器的行为以及移动或复制分配元素的能力。实现可以自由地采用不同的方法,只要它们遵守移出对象的一般要求即可。在 C 应用程序中使用向量和移动语义时,理解这些场景对于程序员至关重要。
以上是C 中移出向量总是空的吗?的详细内容。更多信息请关注PHP中文网其他相关文章!