Heim >Backend-Entwicklung >C++ >Wie initialisiere ich effektiv eine statische „std::map' in C?

Wie initialisiere ich effektiv eine statische „std::map' in C?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-16 12:53:10714Durchsuche

How to Effectively Initialize a Static `std::map` in C  ?

Statisches std::map initialisieren in C

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn