ISO C++标准是否要求STL容器内的任何对象的销毁顺序?STL容器元素销毁顺序
- 是否
std::list
/std::vector
/std::map
元素摧毁从开始或容器的末尾开始? - 我可以依靠
std::map
在std::pair
s内部存储它的元素,因此一对中的某个键在它的值之前被销毁(反之亦然)?
ISO C++标准是否要求STL容器内的任何对象的销毁顺序?STL容器元素销毁顺序
std::list
/std::vector
/std::map
元素摧毁从开始或容器的末尾开始?std::map
在std::pair
s内部存储它的元素,因此一对中的某个键在它的值之前被销毁(反之亦然)?该标准要求* first *和* second *数据成员并按顺序显示它们,如果该顺序是必需的,则该顺序也决定了构建和销毁顺序。 – 2010-01-18 02:49:18
我找不到任何明确说明订单是必需的,但也没有任何说明允许不同。由于他们是公众成员,并且绝对没有标明“仅限博览会”,因此其他任何条款都不适用于实施。所以,我将不得不站在所要求的顺序上。 – 2010-01-18 03:03:21
+1 ............ :) – 2010-01-18 02:52:09
#2,是的,这就是我的意思,应该写另一种方式。你能指出我指定#2的标准部分吗? – 2010-01-18 02:59:42
20.2.2/1,这与我对特里回答的评论有关。 – 2010-01-18 03:01:42