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

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

DDD
Freigeben: 2024-12-09 13:04:10
Original
189 Leute haben es durchsucht

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

Initialisieren einer statischen Karte in C

In C wird das Initialisieren einer statischen Karte std::map stellt eine einzigartige Herausforderung dar. Es gibt keine einfache Methode wie die Verwendung einer Initialisierungsliste oder einer statischen Funktion. Es gibt jedoch mehrere Ansätze, die alternative Lösungen bieten.

Verwendung der C 11-Initialisierungsliste

C 11 führt eine Initialisierungslistensyntax ein, die zum Initialisieren der Karte verwendet werden kann. Die Elemente in geschweiften Klammern werden in geschweiften Klammerpaaren eingeschlossen, wobei jedes Paar ein Schlüssel-Wert-Paar darstellt. Die Reihenfolge der Initialisierung ist irrelevant, da die Karte die Elemente automatisch anhand ihrer Schlüssel sortiert.

#include <map>

using namespace std;

static map<int, int> m = {{1, 2}, {3, 4}, {5, 6}};
Nach dem Login kopieren

Boost.Assign verwenden

Boost.Assign ist eine Bibliothek, die Bietet praktische Makros zum Initialisieren von Karten und anderen Datenstrukturen. Es bietet eine prägnante Syntax zum Spezifizieren von Schlüssel-Wert-Paaren innerhalb einer Karte.

#include <boost/assign.hpp>

using namespace std;
using namespace boost::assign;

static map<int, int> m = map_list_of(1, 2)(3, 4)(5, 6);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine statische „std::map' in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage