Est-il vrai que les clés insérées dans un ordre particulier dans une carte non ordonnée, viendront dans le même ordre tout en itérant sur la carte en utilisant l'itérateur?
Comme par exemple: si nous insérons (4,3), (2, 5), (6, 7) en B. Et itérons comme:
for(auto it=B.begin();it!=B.end();it++) {
cout<<(it->first);
}
nous donnera-t-il 4, 2, 6 ou les clés peuvent-elles venir dans n'importe quel ordre?
À partir de la page cplusplus.com sur la fonction membre begin
de unordered_map
( lien ):
Notez qu'un objet unordered_map ne fait aucune garantie sur quel élément spécifique est considéré comme son premier élément .
Donc non, il n'y a aucune garantie que les éléments seront réitérés dans l'ordre dans lequel ils ont été insérés.
Pour info, vous pouvez parcourir un unordered_map
plus simplement:
for (auto& it: B) {
// Do stuff
cout << it.first;
}