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