Tag: stdmap

std::map ist eine Klasse in der C++ Standard-Bibliothek. Es ist eine sortierte assoziative container, enthält die Schlüssel-Wert-Paaren mit einzigartigen Schlüsseln. Suchen, entfernen und einfügen-Operationen haben logarithmische Komplexität. Karten sind in der Regel umgesetzt als rot-schwarz-Bäume.

C++ Long switch-Anweisung oder suchen Sie mit Karte?

Anzahl der Antworten 12 Antworten
In meinem C++ - Anwendung, habe ich einige Werte, die als codes vertreten andere Werte. Übersetzen des codes, ich habe debating zwischen der Verwendung einer switch-Anweisung oder eine stl-map. Der switch würde wie folgt Aussehen: int code;

Boost.Binden auf std::map-Elemente, die in std::for_each

Anzahl der Antworten 4 Antworten
Habe ich eine Karte, welche eine einfache Struktur mit einem Schlüssel. Das struct hat zwei member-Funktionen, eine ist const die anderen nicht. Ich habe es geschafft das aufrufen der const-Funktion mit std::for_each ohne Probleme, aber ich habe

Wie funktioniert die vergleichen Funktion std::map in C++ funktionieren, wenn es reflexiv wahr?

Anzahl der Antworten 3 Antworten
Ich habe eine Karte in meinem Projekt. Jedes mal, wenn ich das einfügen ein neues element, ich will, um sicherzustellen, dass die Schlüssel für das neue element einzufügen ist, die mindestens eine minimale Breite, abgesehen von anderen

Wie kann ich das einfügen einer Struktur, die als Schlüssel in einer map?

Anzahl der Antworten 4 Antworten
Ich bekomme einen kompilieren Fehler für den folgenden code, nach dem entfernen der Kommentar-Zeichen aus dem ersten insert Linie. Ich bin nicht in der Lage, um legen Sie die Struktur in der Karte beim einführen der ganzen

Wie steigere ich die Leistung in einer Karte-lookup-Schlüssel Typ std::string?

Anzahl der Antworten 14 Antworten
Ich bin mit einem std::map (VC++ Implementierung) und es ist ein wenig langsam für Suchvorgänge über die Karte find-Methode. Den key-Typ ist std::string. Erhöhe ich die Leistung dieses std::map lookup über einen benutzerdefinierten Schlüssel an, vergleichen Sie

Wie kann ich meine eigenen comparator für eine Karte?

Anzahl der Antworten 4 Antworten
typedef map<string, string> myMap; Beim einfügen eines neuen paar zu myMap zu verwenden, wird der Schlüssel string zu vergleichen, durch seine eigene string-Vergleicher. Ist es möglich, dass überschreiben Komparator? Zum Beispiel würde ich gerne vergleichen Sie die

C++: Erben von std::map

Anzahl der Antworten 4 Antworten
Ich will Erben von std::map, aber soweit ich weiß std::map hat keinen virtuellen Destruktor. Ist es daher möglich, den Anruf std::map's Destruktor explizit in meinem Destruktor, um die ordnungsgemäße Objekt-Zerstörung? InformationsquelleAutor Sebastian Hoffmann | 2012-05-07

Wie kann ich einen Wert aus einer Karte?

Anzahl der Antworten 4 Antworten
Ich habe eine map namens valueMap wie folgt: typedef std::map<std::string, std::string>MAP; MAP valueMap; ... //Entering data. Dann bin ich der Weitergabe dieser Karte an eine Funktion per Referenz: void function(const MAP &map) { std::string value = map["string"];

Warum Kann ich nicht speichern Verweise in einem " std::map` in C++?

Anzahl der Antworten 6 Antworten
Ich verstehen, dass Referenzen sind keine Zeiger, sondern ein alias für ein Objekt. Aber ich verstehe immer noch nicht was genau bedeutet das für mich als Programmierer, also was sind Referenzen unter der Haube? Ich denke, der

Wie finde ich den kleinsten Wert in einer map?

Anzahl der Antworten 5 Antworten
Ich habe eine map und ich möchten, finden Sie den minimalen Wert (rechts) in der Karte. Hier ist, wie ich es gemacht habe: bool compare(std::pair<std::string ,int> i, pair<std::string, int> j) { return i.second < j.second; } ////////////////////////////////////////////////////

Wie kann ich einen struct als Schlüssel in einer std::map?

Anzahl der Antworten 4 Antworten
Ich habe folgenden code, aber ich bekomme eine Fehlermeldung auf der letzten Zeile: struct coord { int x, y; bool operator=(const coord &o) { return x == o.x && y == o.y; } bool operator<(const coord &o)

Die meisten effiziente Möglichkeit, Werte zuzuweisen, Karten

Anzahl der Antworten 6 Antworten
Welche Art und Weise Werte zuweisen einer Karte ist am effizientesten? Oder sind Sie optimiert für den gleichen code (in den meisten Compilern)? //1) Assignment using array index notation Foo["Bar"] = 12345; //2) Assignment using member function

Wie ändern von Schlüssel-Werte, die in std::map container

Anzahl der Antworten 5 Antworten
Gegeben std::map<int,std::string> myMap; fillMyMapWithStuff(myMap); //modify key values - I need to add a constant value to each key for (std::map<int,std::string>::iterator mi=myMap.begin(); mi != myMap.end(); ++mi) { //... } Was ist eine gute Art und Weise anwenden einige

Kann ich auf die Elemente in einer c++ - std::map und einem integer-index?

Anzahl der Antworten 2 Antworten
Ich habe eine Karte von Elementen, die ich möchte zu Durchlaufen. Natürlich, der standard-Weg, dies zu tun wäre mit einer for-Schleife mit for (map<string, int> iterator it = myMap.begin(); it != myMap.end(); ++it) { string thisKey =

Iterieren über eine std::map voll von strings in C++

Anzahl der Antworten 8 Antworten
Ich habe Folgendes Problem mit der Iteration über ein assoziatives array von strings definiert mit std::map. -- snip -- class something { //... private: std::map<std::string, std::string> table; //... } In den Konstruktor, die ich füllen Sie die

Wie kann ich den Inhalt der einen Karte auf der Konsole?

Anzahl der Antworten 7 Antworten
Ich habe eine map wie folgt deklariert: map < string , list < string > > mapex ; list< string > li; Wie kann ich die Anzeige der gespeicherten Elemente in der obigen Karte auf die Konsole?

Wenn ein "Schlüssel/Wert" ist eingefügt in ein `std::map`, macht es seine eigene Kopie der Objekte?

Anzahl der Antworten 4 Antworten
Dieser ist inspiriert durch einen Artikel in effective C# erste Ausgabe, Warnung vor überschreiben GetHashCode() naiv. Sorry, ich habe keine Unterstützung von code. Übrigens, dies ist keine Hausaufgabe, ich bin nur nicht so vertraut mit C++/STL, und

Ändern Sie den Wert in std::map von iterator

Anzahl der Antworten 2 Antworten
Meine Anwendung führt zwei std::map Instanzen. Wenn keine Duplikate vorhanden sind, wird der merge abgeschlossen, ohne intervention. Allerdings, wenn ein Duplikat gefunden wird, dann ist die Methode, die fragt, ob der neue Wert ignoriert werden sollen oder

std::string als Schlüssel in std::map mit einem Vergleichsoperator

Anzahl der Antworten 4 Antworten
Ich versuche, einen std::string als Schlüssel in eine std::map allerdings bin ich nicht in der Lage zu finden() richtig. Mein code ist etwas kompliziert und groß, so das ist ein kleines Programm, das zeigt ein problem, das

Boost.Zuweisen: unter Verwendung von Objekten mit map_list_of?

Anzahl der Antworten 2 Antworten
Mit C++ mit boost. Im Boost.Zuordnen kann ich die Verwendung des new-operators mit map_list_of? Beispiel: std::map<int, MyObject*> objects = boost::assign::map_list_of (1, new MyObject())(2, new MyObject())(3, new MyObject()) Wenn nicht, gibt es einen anderen Weg, es zu tun?

Wie kann ich eine map mit Strings als Schlüssel und ostream als Wert?

Anzahl der Antworten 3 Antworten
Ich versuche, mit der map container in C++ in der folgenden Weise: Der Schlüssel ist eine string ist und der Wert ein Objekt vom Typ ofstream. Mein code sieht wie folgt aus: #include <string> #include <iostream> #include

Zeichen-Array als einen Wert in C++ anzeigen

Anzahl der Antworten 4 Antworten
Möchte ich definieren, so etwas wie Map<int, char[5] > myMap; Dem obigen Erklärung angenommen, die von der c++ - compiler und kein Fehler ausgegeben, aber wenn ich so etwas tun int main() { char arr[5] ="sdf"; map

Wie zu verwenden struct als Schlüssel für std::map

Anzahl der Antworten 4 Antworten
Ich möchte an einem std::map deren Schlüssel-Wert-Elemente-Strukturen. Bekomme ich die folgende Fehlermeldung: error C2784: 'bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'const GUID Ich verstehe, dass

C++ std::map und std::set - effizient einfügen Duplikate

Anzahl der Antworten 5 Antworten
Habe ich einen Haufen Daten, die voller Duplikate, und ich will zur Beseitigung der Duplikate. Sie wissen, z.B. [1, 1, 3, 5, 5, 5, 7] wird [1, 3, 5, 7]. Es sieht aus wie ich kann entweder

map<string, string> einfügen von Daten in diese Karte?

Anzahl der Antworten 8 Antworten
Brauche ich, um Zeichenfolgen zu speichern in key-value-format. So bin mit Karte wie unten. #include<map> using namespace std; int main() { map<string, string> m; string s1 = "1"; string v1 = "A"; m.insert(pair<string, string>(s1, v1)); //Error }

Ist möglich ist die Verwendung von std::map in C++ mit einer Klasse ohne eine Kopie Betreiber?

Anzahl der Antworten 3 Antworten
Bin ich mit einer Klasse (Objekt), dass nicht jede Kopie-operator : es ist im Grunde nicht kopiert werden kann, jetzt. Ich habe eine std::map<int,Object> objects variable, die Listen von Objekten mit einem int-id. Wie könnte ich ein

Gewusst wie: abrufen aller Tasten (oder Werte) von einer std::map und lege Sie in einen vector?

Anzahl der Antworten 14 Antworten
Dies ist eine der Möglichkeiten, aus dem ich komme: 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());

Warum nicht std::map-operator[] ein Objekt erstellen, wenn der Schlüssel nicht vorhanden?

Anzahl der Antworten 11 Antworten
Ich bin mir ziemlich sicher, sah ich diese Frage irgendwo (comp.lang.c++? Google nicht scheinen, um es zu finden gibt), aber eine kurze Suche hier nicht scheinen, es zu finden, also hier ist es: Warum hat die std::map-operator

C++ - Thread-Safe-Karte

Anzahl der Antworten 8 Antworten
Weiß jemand, wo ich finden kann ein implimentation, dass wraps eine std::map und macht es thread-sicher? Wenn ich sage, thread-sichere ich meine, dass es bietet nur einen seriellen Zugriff auf die Karte, ein thread zu einem Zeitpunkt.

C++ const std::map reference nicht kompiliert werden

Anzahl der Antworten 5 Antworten
Gibt es einen Grund, warum der übergabe einer Referenz auf ein std::map als const bewirkt, dass der - operator zu brechen? Ich bekomme diese compiler-Fehlermeldung (gcc 4.2) wenn ich mit const: error: no match for 'operator'

C++ std::map-Elemente in absteigender Reihenfolge der Schlüssel

Anzahl der Antworten 2 Antworten
Wie cal benutze ich std::map container mit Schlüssel-Wert in absteigender Reihenfolge. Wenn, als Beispiel, legen Sie die folgenden Elemente: [2 , 5] [1 , 34] [3 , 67] Werden Sie bestellt werden, die in der Karte wie:

std::map default-Wert

Anzahl der Antworten 9 Antworten
Gibt es eine Möglichkeit, geben Sie den Standardwert std::map's operator zurückgibt, wenn ein Schlüssel nicht vorhanden ist? InformationsquelleAutor der Frage anon | 2010-02-25

C++ std::map-template-Klasse Werte

Anzahl der Antworten 3 Antworten
Versuche ich zu erklären, eine Row und ein Column Klasse, mit der Row mit einem privaten std::map mit Werten Hinweis auf eine vorgefertigte Column. So etwas wie dieses: template <typename T> class DataType { private: T type;

map, lambda, remove_if

Anzahl der Antworten 2 Antworten
So, ich habe problem mit std::map, lambda-und stl-Algorithmus(remove_if). Tatsächlich, der gleiche code mit std::list oder std::vector funktioniert gut. Meinem test-Beispiel : #include <map> #include <iostream> #include <algorithm> struct Foo { Foo() : _id(0) {} Foo(int id) :

std::map thread-Sicherheit

Anzahl der Antworten 2 Antworten
Ist Verweis auf Objekt in std::map ist thread-sicher? std::map< std::string, Object > _objects; anzeigen können geändert werden, aus vielen threads, und dieser Zugang wird synchronisiert, aber Bezug zum Wert (Objekt - &) zugänglich nur von 1 Instanz

Letzter Schlüssel in einer std :: map

Anzahl der Antworten 3 Antworten
Ich bin auf der Suche nach High-key-Wert (definiert durch den Vergleichsoperator), der eine std::map. Ist dies garantiert map.rbegin()->first ? (Ich bin ein bisschen wackelig auf reverse-Iteratoren, und wie viel Freiheit gibt es in der Implementierung von std::map)

C ++ map & lt; std :: string & gt; vs Karte & lt; char * & gt; Leistung (ich weiß, "wieder?")

Anzahl der Antworten 5 Antworten
War ich mit einer Karte mit einem std::string - Taste und während alles gut funktioniert, ich war nicht immer die Leistung, die ich erwartet hatte. Ich habe nach Orten gesucht, um zu optimieren und verbessert die Dinge

std :: map partielle Übereinstimmung für den Schlüssel

Anzahl der Antworten 4 Antworten
Habe ich eine std::map, und ich will die Suche nach einem Schlüssel mit einem substring. Für exampe #include <iostream> #include <map> #include <string> using namespace std; typedef std::map<std::string, std::string> TStrStrMap; typedef std::pair<std::string, std::string> TStrStrPair; int main(int argc,

Wann sollte ich std :: map :: at verwenden, um das Kartenelement abzurufen

Anzahl der Antworten 8 Antworten
Habe ich gelesen, die anderen Artikel auf dem web und Fragen an stackoverflowaber für mich ist es nicht klar gibt es eine exklusive Fall, wenn es besser ist, zu verwenden std::map::at abrufen map-element. Laut definitionstd::map::at Gibt einen

Wie kann ich Elemente einer std :: map mit einem Iterator löschen?

Anzahl der Antworten 3 Antworten
Ich würde gerne eine Schleife über std::map und löschen von Elementen basierend auf deren Inhalt. Wie am besten würde diese durchgeführt werden? InformationsquelleAutor der Frage | 2011-01-05

Ist es in STL-Maps besser, map :: insert als [] zu verwenden?

Anzahl der Antworten 12 Antworten
Vor einer Weile, ich hatte eine Diskussion mit einem Kollegen darüber, wie Sie zum einfügen von Werten in STL Karten. Ich bevorzugte map[key] = value; denn es fühlt sich natürlich und ist deutlich zu Lesen, während er

std :: map insert oder std :: map find?

Anzahl der Antworten 9 Antworten
Vorausgesetzt, eine Karte, wo Sie möchten, erhalten die vorhandenen Einträge. 20% der Zeit, den Eintrag, den Sie einfügen neuer Daten. Ist es ein Vorteil zu tun, std::map::find dann std::map::insert mit, dass das zurückgegebene iterator? Oder ist es

Thread-Sicherheit von std :: map für schreibgeschützte Operationen

Anzahl der Antworten 3 Antworten
Habe ich eine std::map, die ich verwenden, um die anzeigen-Werte (Feld ID) in eine lesbare Zeichenfolge. Diese Karte ist initialisiert, sobald, wenn mein Programm gestartet wird, bevor alle anderen threads werden gestartet, und nach, dass es nie

Warum ist der Speicher noch zugänglich, nachdem std :: map :: clear () aufgerufen wurde?

Anzahl der Antworten 6 Antworten
Beobachten ich seltsame Verhalten von std::map::clear(). Diese Methode nennen soll element der Destruktor aufgerufen, aber Speicher ist immer noch zugänglich, nach dem Aufruf von clear(). Beispiel: struct A { ~A() { x = 0; } int x;

Benutzerdefinierte Typen als Schlüssel für eine Karte - C ++

Anzahl der Antworten 4 Antworten
Ich versuche weisen Sie einen benutzerdefinierten Typ als Schlüssel für std::map. Hier ist die Art, die ich benutze als Schlüssel. struct Foo { Foo(std::string s) : foo_value(s){} bool operator<(const Foo& foo1) { return foo_value < foo1.foo_value; }

Überprüfung auf Existenz in std :: map - count vs find

Anzahl der Antworten 3 Antworten
So scheint es zwei allgemein akzeptablen Methoden der Bestimmung, ob ein Schlüssel vorhanden ist in einer std::map: map.find(key) != map.end() map.count(key) > 0 Ist eine effizienter als die andere? Insbesondere das Konzept der count() könnte dahingehend interpretiert,

Überprüfung Wert existiert in einer std :: map - C ++

Anzahl der Antworten 9 Antworten
Ich weiß finden Methode findet die mitgelieferten Schlüssel in std::map und zurück einen iterator auf das element. Gibt es trotzdem, um den Wert zu finden und bekommen Sie einen iterator auf das element? Was ich tun müssen,

Vorteile von Std :: Set vs Vektoren oder Karten

Anzahl der Antworten 5 Antworten
Dies kann eine dumme Frage, ich bin ziemlich neu in C++ und der Programmierung im Allgemeinen. Ich Wünsche zu verstehen, die Verwendung von mehreren STL-Containern und mit diesem Gedanken im Hinterkopf, ich Frage mich, was sind die

Wie aktualisiert man std :: map nach der find-Methode?

Anzahl der Antworten 4 Antworten
So aktualisieren Sie den Wert eines Schlüssels in std::map nach der Verwendung der find Methode? Ich habe eine map und iterator-Deklaration, wie diese: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Ich

Wie kann ich die Speichernutzung von std :: map schätzen?

Anzahl der Antworten 6 Antworten
Zum Beispiel habe ich eine std::map mit bekannten sizeof(A) sizeof(B), während die Karte hat N Einträge drin. Wie schätzen Sie die Speichernutzung? Ich würde sagen, es ist so etwas wie (sizeof(A) + sizeof(B)) * N * factor