Questions marquées «stdmap»


17
Comment récupérer toutes les clés (ou valeurs) d'une std :: map et les mettre dans un vecteur?
C'est l'une des façons possibles de sortir: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); Bien sûr, nous pouvons également récupérer …
246 c++  dictionary  stl  stdmap 


9
Quelle est la manière préférée / idiomatique d'insérer dans une carte?
J'ai identifié quatre façons différentes d'insérer des éléments dans un std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Laquelle de ces méthodes est la méthode préférée / idiomatique? (Et y a-t-il un autre moyen auquel je n'ai pas pensé?)
113 c++  stl  insert  stdmap  std-pair 

9
std :: map insert ou std :: map find?
En supposant une carte où vous souhaitez conserver les entrées existantes. 20% du temps, l'entrée que vous insérez est de nouvelles données. Y a-t-il un avantage à faire std :: map :: find puis std :: map :: insert en utilisant l'itérateur retourné? Ou est-il plus rapide de tenter l'insertion …
90 c++  optimization  stl  stdmap 

6
Comment mettre à jour std :: map après avoir utilisé la méthode find?
Comment mettre à jour la valeur d'une clé std::mapaprès avoir utilisé la findméthode? J'ai une carte et une déclaration d'itérateur comme celle-ci: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; J'utilise la carte pour stocker le nombre d'occurrences d'un personnage. J'utilise Visual C ++ 2010.
90 c++  map  stl  stdmap 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.