Als «stdmap» getaggte Fragen

std :: map ist eine Klasse in der C ++ Standard Library. Es ist ein sortierter assoziativer Container, der Schlüssel-Wert-Paare mit eindeutigen Schlüsseln enthält. Such-, Entfernungs- und Einfügevorgänge weisen eine logarithmische Komplexität auf. Karten werden normalerweise als rot-schwarze Bäume implementiert.


17
Wie kann man alle Schlüssel (oder Werte) von einer std :: map abrufen und in einen Vektor einfügen?
Dies ist einer der möglichen Wege, wie ich herauskomme: 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")); Natürlich können wir auch …
246 c++  dictionary  stl  stdmap 

12
Ist es in STL-Karten besser, map :: insert als [] zu verwenden?
Vor einiger Zeit hatte ich eine Diskussion mit einem Kollegen darüber, wie Werte in STL- Maps eingefügt werden . Ich habe es vorgezogen, map[key] = value; weil es sich natürlich anfühlt und klar zu lesen ist, während er es vorgezogen hat map.insert(std::make_pair(key, value)) Ich habe ihn nur gefragt und keiner …
201 c++  stl  map  stdmap 

9
Was ist die bevorzugte / idiomatische Methode zum Einfügen in eine Karte?
Ich habe vier verschiedene Möglichkeiten zum Einfügen von Elementen in a identifiziert 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)); Welcher davon ist der bevorzugte / idiomatische Weg? (Und gibt es einen anderen Weg, an den ich nicht gedacht habe?)
111 c++  stl  insert  stdmap  std-pair 

9
std :: map insert oder std :: map find?
Angenommen, Sie möchten eine Karte erstellen, in der vorhandene Einträge beibehalten werden sollen. In 20% der Fälle handelt es sich bei dem Eintrag, den Sie einfügen, um neue Daten. Gibt es einen Vorteil, wenn Sie std :: map :: find und dann std :: map :: insert mit diesem zurückgegebenen …
89 c++  optimization  stl  stdmap 

6
Wie aktualisiere ich std :: map nach der find-Methode?
Wie aktualisiere ich den Wert eines Schlüssels std::mapnach Verwendung der findMethode? Ich habe eine Map- und Iterator-Deklaration wie folgt: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Ich verwende die Karte, um die Anzahl der Vorkommen eines Charakters zu speichern. Ich verwende Visual C ++ …
87 c++  map  stl  stdmap 


4
Wie kann ich einen eigenen Komparator für eine Karte erstellen?
typedef map<string, string> myMap; Beim Einfügen eines neuen Paares in myMapwird der Schlüssel stringzum Vergleichen durch einen eigenen Zeichenfolgenkomparator verwendet. Ist es möglich, diesen Komparator zu überschreiben? Zum Beispiel möchte ich den Schlüssel stringnach seiner Länge vergleichen, nicht nach dem Alphabet. Oder gibt es eine andere Möglichkeit, die Karte zu …
83 c++  stl  stdmap 

8
Verwenden von char * als Schlüssel in std :: map
Ich versuche herauszufinden, warum der folgende Code nicht funktioniert, und ich gehe davon aus, dass es sich um ein Problem bei der Verwendung von char * als Schlüsseltyp handelt. Ich bin mir jedoch nicht sicher, wie ich ihn beheben kann oder warum er auftritt. Alle anderen Funktionen, die ich (im …
81 c++  map  stdmap 




Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.