Les dictionnaires peuvent-ils être utilisés en c ++
J'ai été à la recherche de dictionnaires en C# et ils semblent être très utile, et je me demandais si il est possible de les utiliser en C++ que j'ai essayé de rechercher pour les dictionnaires en C++, mais il ne semble pas être un équivalent de ce que je peux trouver. Est-il une sorte de bibliothèque que j'ai pu télécharger et de les inclure dans le projet ou est-il une fonction qui fait la même chose avec un nom différent.
source d'informationauteur Elliott
Vous devez vous connecter pour publier un commentaire.
Il y a un type correspondant dans la STL, c'est qu'on appelle
std::map
.Il a les mêmes fonctionnalités de base que une .NET Dictionnaire, mais la mise en œuvre est tout à fait différent.
std::map
fondé en interne sur un rouge-noir arbre de discbased, tandis queDictionary
utilise une table de hachage interne.Si vous êtes simplement à la recherche de quelque chose ayant le même comportement,
std::map
fera, mais si vous avez de grandes quantités de données, vous devez être conscient des différentes caractéristiques de performance.Il y a
std::map
pour logarithmique temps d'accès (généralement basé sur un arbre de la mise en œuvre) etstd::unordered_map
(depuis C++11) de constante, dans le pire des cas linéaire temps d'accès (généralement basé sur un hachage de mise en œuvre).std::map est comme un
Dictionary
.Nous pouvons utiliser la carte en C++
Le format de base à l'aide d'une carte est -
Exemple -