Initialisation d'un std::map statique
Lorsque l'on traite des cartes statiques en C , la question se pose de savoir comment les initialiser de manière appropriée.
Pour initialiser une carte statique, une approche possible consiste à utiliser une fonction statique qui gère le processus d'initialisation. Cependant, il existe une méthode plus pratique et plus moderne disponible grâce à C 11.
En utilisant la syntaxe de liste d'initialisation de C 11, vous pouvez initialiser une carte statique comme suit :
#include <map> using namespace std; static std::map<int, int> myMap = {{1, 2}, {3, 4}, {5, 6}};
L'ordre de Les éléments de la liste d'initialisation ne sont pas pertinents car la carte triera automatiquement les éléments par leurs clés. Cette approche permet une initialisation simple et concise des cartes statiques.
Vous pouvez également tirer parti de la bibliothèque Boost.Assign pour initialiser des cartes statiques, offrant ainsi une autre option pratique.
Par exemple, avec Boost. Assign :
#include <map> #include "boost/assign.hpp" using namespace std; using namespace boost::assign; static std::map<int, int> myMap = map_list_of(1, 2)(3, 4)(5, 6);
Ces deux méthodes offrent des mécanismes efficaces et simples pour initialiser des cartes statiques en C .
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!