Statisches std::map
Bei der Arbeit mit statischen Karten in C fragt man sich möglicherweise nach der richtigen Methode zur Initialisierung. Diese Frage befasst sich mit den verfügbaren Optionen zum effektiven Initialisieren einer statischen Karte.
C 11-Initialisierungsliste
Ein Ansatz besteht darin, C 11-Initialisierungslisten zu verwenden. Diese Listen ermöglichen die Angabe von Anfangswerten in geschweiften Klammern unter Beibehaltung der Einfügereihenfolge. Die Karte sortiert Elemente automatisch nach ihren Schlüsseln.
#include <map> using namespace std; map<int, char> m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};
Boost.Assign-Bibliothek
Alternativ können Sie die Boost.Assign-Bibliothek verwenden, die die Map_list_of bereitstellt Makro. Dieses Makro erleichtert die Initialisierung von Karten mit Schlüssel-Wert-Paaren in einer prägnanten Syntax:
#include <map> #include "boost/assign.hpp" using namespace std; using namespace boost::assign; map<int, char> m = map_list_of(1, 'a')(3, 'b')(5, 'c')(7, 'd');
Durch die Nutzung der Initialisierungsliste oder der Boost.Assign-Bibliothek können Sie statische Karten mühelos in C initialisieren und so eine praktische und einfache Lösung erstellen effizienter Ansatz.
Das obige ist der detaillierte Inhalt vonWie initialisiere ich effektiv eine statische „std::map' in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!