Was ist der richtige Weg, um eine statische Karte zu initialisieren? Benötigen wir eine statische Funktion, die sie
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.
Was ist der richtige Weg, um eine statische Karte zu initialisieren? Benötigen wir eine statische Funktion, die sie
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(),...
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...
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,...
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 Iterator...
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...
Gibt es eine Möglichkeit , den Standardwert angeben std::map‚s operator[]zurückgibt , wenn ein Schlüssel nicht existiert?
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...
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...
Was ist der Unterschied zwischen den folgenden beiden Zeilen? map<int, float> map_data; map<const int, float> map_data;
Ich frage mich, warum ich STL-Maps nicht mit benutzerdefinierten Klassen verwenden kann. Wenn ich den folgenden Code kompiliere, wird die folgende kryptische Fehlermeldung angezeigt. Was heißt das? Warum passiert das nur bei benutzerdefinierten Typen? (Primitive Typen sind in Ordnung, wenn sie als...
Ich habe zwei std::map<>Objekte aund bmöchte einige Elemente (Knoten) basierend auf einem Prädikat von einer Karte zur anderen verschieben ( extract+ insert) p. for (auto i = a.begin(); i != a.end(); ++i) if (p(*i)) b.insert(a.extract(i)) Dieser Code ist in clang fehlerhaft. Ich gehe davon...