Initialiser une std::map avec C++11

Posté par seiyar81 le 17 novembre 2013 | Laisser un commentaire (0)
C++11

Une petite astuce, si l’on peut appeler ça comme ça, sur l’utilisation des maps en C++11. Cette nouvelle version du langage a en effet introduit les initializer_list et le principe de l’uniform initialization.
Je ne détaillerai pas plus en détails les méchanismes ni les possibilités apportées par ces fonctionnaliés mais je vous conseille de vous y intéresser dans un premier temps sur Wikipédia.

Imaginons que vous disposez d’une map à initialiser sur plusieurs niveaux, voilà ce que vous pouvez maintenant faire avec les nouveaux principes évoqués ci dessus :

std::map<int, std::map<int, int>> my_map = {
    {1, 
			{
				{2, 3}
			}
		}
};

Vous gagnez ainsi de nombreuses lignes à écrire et sans y perdre en visibilité.

Catégorie: C++ | Laisser un commentaire (0)