Maison > développement back-end > C++ > Comment initialiser un `std::map` statique en C ?

Comment initialiser un `std::map` statique en C ?

DDD
Libérer: 2024-12-09 13:04:10
original
184 Les gens l'ont consulté

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

Initialisation d'une carte statique en C

En C , initialisation d'une carte statique std::map présente un défi unique. Il n'existe pas de méthode simple comme l'utilisation d'une liste d'initialisation ou d'une fonction statique. Cependant, plusieurs approches offrent des solutions alternatives.

Utilisation de la liste d'initialisation C 11

C 11 introduit une syntaxe de liste d'initialisation qui peut être utilisée pour initialiser la carte. Les éléments entre accolades sont entourés de paires d’accolades, chaque paire représentant une paire clé-valeur. L'ordre d'initialisation n'a pas d'importance car la carte trie automatiquement les éléments en fonction de leurs clés.

#include <map>

using namespace std;

static map<int, int> m = {{1, 2}, {3, 4}, {5, 6}};
Copier après la connexion

Utilisation de Boost.Assign

Boost.Assign est une bibliothèque qui fournit des macros pratiques pour initialiser des cartes et autres structures de données. Il offre une syntaxe concise pour spécifier des paires clé-valeur dans une carte.

#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);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal