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.

201
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...

89
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 Iterator...

87
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...

83
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...

81
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...