Ordre de destruction d’éléments de conteneurs STL

La norme ISO C ++ impose-t-elle une sorte d’ordre de destruction d’objects dans les conteneurs STL?

  • Les éléments std::list / std::vector / std::map sont-ils détruits à partir du début ou de la fin du conteneur?
  • Puis-je m’appuyer sur std::map stocker ses éléments dans std::pair s de manière à ce qu’une clé d’une paire soit détruite avant sa valeur (ou inversement)?

  1. Non spécifié dans la norme.
  2. Oui, mais cela signifie que la clé est détruite après sa valeur associée.
  1. Non spécifié
  2. Oui, vous pouvez compter sur std :: map pour stocker ses éléments dans std :: pairs, mais je ne vois rien qui spécifie la partie clé d’une std :: pair en cours de destruction avant une partie valeur.