52 votes

Quelle est la différence entre std :: list<std::pair> et std::map en C++ STL ?

Quelle est la différence entre std::list<std::pair> et std::map ? Existe-t-il également une find pour la liste ?

1voto

Novikov Points 2920

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X