STL容器元素销毁顺序

时间:2010-01-18 02:39:58

标签: c++ stl portability

ISO C ++标准是否要求STL容器内任何类型的对象销毁顺序?

  • 从容器的开头或结尾开始销毁std::list / std::vector / std::map个元素吗?
  • 我是否可以依赖std::mapstd::pair内部存储其元素,以便一对中的键在其值之前被销毁(反之亦然)?

2 个答案:

答案 0 :(得分:21)

  1. 标准中未指定。
  2. 是的,但这意味着在其相关值之后销毁密钥。

答案 1 :(得分:5)

  1. 未指定的
  2. 是的,你可以依赖std :: map在std :: pairs中存储它的元素,但是我没有看到任何指定std :: pair的Key部分在Value部分之前被破坏的东西。