Quelle est la différence entre std::list<std::pair>
et std::map
? Existe-t-il également une find
pour la liste ?
Réponse
Trop de publicités?Les cartes STL sont des tableaux associatifs, généralement implémentés sous forme de hashmaps à l'intérieur. Si vous souhaitez parcourir une carte STL, il renverra une paire STL.
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<string, int> myMap;
myMap["myKey"] = 1337;
map<string, int>::iterator myIterator = myMap.begin();
pair<string, int> myPair = *myIterator;
cout<<"the key \""<<myPair.first<<"\" maps to the value of "<<myPair.second<<endl;
cout<<"the key \"myKey"\" maps to the value of "<<myMap["myKey"]<<endl;
return 0;
}
Je suggérerais de rechercher sur Google et de lire la référence complète de l'API STL, car STL (à l'exception du stockage de booléens dans des vecteurs et d'autres bizarreries de ce type) implémente de nombreuses fonctionnalités de structure de données que vous voudriez utiliser dans n'importe quel programme sans réinventer la roue.