Maison >développement back-end >C++ >Comment initialiser efficacement un `std::map` statique en C ?
Initialisation de std::map
Lorsque l'on travaille avec des cartes statiques en C , on peut s'interroger sur la méthode appropriée d'initialisation. Cette question examine les options disponibles pour initialiser efficacement une carte statique.
Liste d'initialisation C 11
Une approche consiste à utiliser les listes d'initialisation C 11. Ces listes permettent de spécifier les valeurs initiales entre accolades, en préservant l'ordre d'insertion. La carte trie automatiquement les éléments en fonction de leurs clés.
#include <map> using namespace std; map<int, char> m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};
Bibliothèque Boost.Assign
Vous pouvez également utiliser la bibliothèque Boost.Assign, qui fournit la map_list_of macro. Cette macro facilite l'initialisation des cartes avec des paires clé-valeur dans une syntaxe concise :
#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');
En tirant parti de la liste d'initialisation ou de la bibliothèque Boost.Assign, vous pouvez facilement initialiser des cartes statiques en C , créant ainsi un environnement pratique et approche efficace.
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!