Qu'est-ce qu'une carte? Comment pourrais-je créer et utiliser un en C++?Qu'est-ce qu'une carte et comment l'utiliser en C++?
Répondre
Si vous voulez dire std::map
, il stocke des paires de valeurs. Dans chaque paire, la première valeur est appelée clé et peut être utilisée pour rechercher rapidement l'autre valeur associée.
Vous pouvez écrire:
std::map<std::string, int> ages;
ages["Fred"] = 52;
ages["Sue"] = 31;
std::cout << "Fred's age is " << ages["Fred"] << std::endl;
Qu'est-ce qu'une carte - c'est une structure de données qui contient des paires de valeurs associées. Chaque paire est composée d'une clé et d'une valeur. Chaque clé d'une carte doit être unique, mais des clés différentes peuvent avoir les mêmes valeurs. Les cartes sont souvent utilisées pour mettre en cache ou implémenter des tables de recherche, un peu comme un dictionnaire (qui est en fait ce que les cartes sont appelées dans certaines langues). En ce qui concerne la façon d'implémenter une carte en C++, la réponse courte est - vous n'avez pas. Vous utilisez std :: map ou l'une de ses variantes.
Map est le type de collection end, il est implémenté en C++ à la fin STL (Standard Template Library) ici est l'explication officielle de la documentation de la bibliothèque.
La carte est un conteneur associatif trié qui associe des objets de type clé aux objets de type données. Map est un conteneur associatif par paire, ce qui signifie que son type de valeur est pair. Il s'agit également d'un conteneur associatif unique, ce qui signifie qu'aucun élément n'a la même clé. Map a la propriété importante que l'insertion d'un nouvel élément dans une carte n'invalide pas les itérateurs qui pointent vers des éléments existants. L'effacement d'un élément d'une carte n'invalide pas non plus les itérateurs, sauf, bien sûr, pour les itérateurs qui pointent vers l'élément en cours d'effacement.
Exemple
struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
int main()
{
map<const char*, int, ltstr> months;
months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;
cout << "june -> " << months["june"] << endl;
map<const char*, int, ltstr>::iterator cur = months.find("june");
map<const char*, int, ltstr>::iterator prev = cur;
map<const char*, int, ltstr>::iterator next = cur;
++next;
--prev;
cout << "Previous (in alphabetical order) is " << (*prev).first << endl;
cout << "Next (in alphabetical order) is " << (*next).first << endl;
}
Here est la documentation complète du type de la carte en STL.
J'espère que cette aide.
- 1. comment itérer en sens inverse sur une carte en C++
- 2. C++ carte question
- 3. multiset, carte et carte de hachage complexité
- 4. Carte char * en C DLL en Java avec JNA
- 5. Comment ajouter le contenu d'une carte à une autre carte?
- 6. Comment passer une carte 2D en tant que paramètre à une fonction en C++?
- 7. Glisser et déposer une carte
- 8. C# pour la réinitialisation d'une carte réseau
- 9. Comment obtenir l'uuid de la carte mère avec c
- 10. comment faire la différence entre la carte LAN et la carte de données
- 11. C# l'accès au fichier de carte mémoire
- 12. C++ carte STL :: effacer une clé
- 13. C# Détection de la carte son
- 14. Carte C++ pour Many-to-Many
- 15. Recherche de carte générique dans C#
- 16. Comment formater une carte SD avec FAT16?
- 17. Comment appeler et utiliser WSAAsyncSelect() en C#?
- 18. XNA comment stocker et dessiner une carte 2D?
- 19. Comment créer une carte d'image en utilisant Java Swing?
- 20. Afficher les points sur ma carte carte
- 21. entiers de la carte, short et char bitpattern
- 22. Carte des collections
- 23. Comment changer une adresse IP en C++?
- 24. Quelles sont les différences entre une carte de modification différentielle et une carte de modification en bloc?
- 25. en boucle et moyenne en C++
- 26. Carte Linq! ou Collectez!
- 27. Carte STL C++ avec une classe personnalisée en tant que second type
- 28. Comment créer un système de carte efficace?
- 29. Obtenir un pointeur à la structure dans une carte C++
- 30. comment valider des éléments de carte dynamique
Changez Waht en Quoi aussi .. – joe
C'est un appareil pour regarder les choses, ironiquement, un peu comme Google ... –