ISO C++标准是否规定了STL容器中对象的销毁顺序?
std::list
/std::vector
/std::map
中的元素是从容器的开头还是结尾开始销毁的?- 我可以依赖于
std::map
在其内部存储元素时使用std::pair
,所以一个键在其值之前被销毁(反之亦然)吗?
ISO C++标准是否规定了STL容器中对象的销毁顺序?
std::list
/std::vector
/std::map
中的元素是从容器的开头还是结尾开始销毁的?std::map
在其内部存储元素时使用std::pair
,所以一个键在其值之前被销毁(反之亦然)吗?pair(); Effects: Initializes its members as if implemented: pair() : first(), second() {}
。我理解这意味着顺序是定义好的,但我会听从语言律师的意见。 - R Samuel Klatchko
std::list
来说,肯定是按顺序或按相反顺序排列的,因为没有其他方法可以遍历元素(而不进行额外的工作)。 - alfC