map Class
Utilisé pour le stockage et la récupération des données d'une collection dans laquelle chaque élément est une paire qui a une valeur de données et une clé de tri.La valeur de la clé est unique et est utilisée pour trier automatiquement les données.
La valeur d'un élément dans un mappage peut être modifié directement.La valeur de clé est une constante et ne peut pas être modifiée.À la place, les valeurs de clés associées aux éléments anciens doivent être supprimées, et de nouvelles valeurs de clés doivent être insérées pour les nouveaux éléments.
template <
class Key,
class Type,
class Traits = less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class map
Paramètres
Key
Le type de données clés à stocker dans le mappage.Type
Le type de données d'élément à stocker dans le mappage.Traits
Le type qui fournit un objet de fonction qui peut comparer deux valeurs d'élément comme clés de tri pour déterminer leur commande relative dans le mappage.Cet argument est facultatif et l'attribut binaire less<Key> est la valeur par défaut.Allocator
Le type qui représente l'objet d'allocation stocké qui encapsule des informations sur l'allocation et de la désallocation de la carte de la mémoire.Cet argument est facultatif et la valeur par défaut est allocator<pair<constKey*,* Type> >.
Notes
La classe de mappage de (STL) Standard Template Library) est :
Un conteneur de taille variable qui récupère efficacement des valeurs d'élément selon les valeurs de clés associées.
Réversible, car il fournit des itérateurs bidirectionnelles pour accéder à ses éléments.
Trié, car ses éléments sont triés par les valeurs de clés en fonction d'une fonction de comparaison donnée.
Seul.parce que chacun de ses éléments doit avoir une clé unique.
Un conteneur paire- associatif, car ses valeurs de données d'élément sont séparées de ses valeurs de clés.
Une classe de modèle, car les fonctionnalités qu'elle fournit est générique et indépendants d'élément ou de type de clé.Les types de données utilisés pour les éléments et les clés sont spécifiés comme paramètres dans le modèle de classe avec la fonction de comparaison et l'allocateur.
L'itérateur fourni par la classe de mappage est un itérateur bidirectionnel, mais les fonctions membres de classe d' insertion et d' carte ont des versions qui prennent comme paramètre de modèle un itérateur d'entrée plus faible, dont les spécifications de fonctionnalités sont moins de celles garanti par la classe les itérateurs bidirectionnelles.Les différents concepts des itérateurs sont associés par des améliorations dans leurs fonctionnalités.Chaque concept d'itérateur possède son propre ensemble de spécifications, et les algorithmes qui fonctionnent avec doivent être limité par ces spécifications.Un itérateur d'entrée peut être déréférencé pour faire référence à un objet et peut être incrémenté à l'itérateur dans la séquence.
Nous recommandons que vous basez le choix du type de conteneur sur le type de rechercher et d'insérer cela est requis par l'application.Les conteneurs sont associatifs optimisés pour les opérations de recherche, de l'implémentation, et de suppression.Les fonctions membres qui prennent en charge explicitement ces opérations les exécutent dans une heure qui est en moyenne proportionnel au logarithme du nombre d'éléments dans le conteneur.Insertion des éléments n'invalide pas d'itérateur, et supprime des éléments invalide uniquement les itérateurs qui ont spécifiquement pointe vers les éléments supprimés.
Nous recommandons que vous apportez à la carte le conteneur du tableau associatif lorsque les conditions qui associent des valeurs avec des clés sont satisfaites par l'application.Un modèle pour ce type de structure est une liste triée de se produire uniquement les mots clés qui ont associé des valeurs de chaîne qui fournissent des définitions.Si un mot a plusieurs définitions correcte, afin que la clé n'est pas unique, un mappage multiple est le conteneur du tableau.Si uniquement la liste de mots est stockée, un jeu est le conteneur approprié.S'il permet plusieurs occurrences des mots, un multiensemble est approprié.
La carte classe les éléments qu'elle contrôle en appelant un objet stocké de fonction de type key_compare.Cet objet stocké est une fonction de comparaison qui est accessible en appelant la méthode d' key_comp .En général deux éléments donnés quelconques sont comparés pour déterminer s'il est inférieure à l'autre ou s'ils sont équivalents.Lorsque tous les éléments sont comparés, une séquence ordonnée d'éléments d'inégalité est créée.
[!REMARQUE]
La fonction de comparaison est un attribut binaire qui induit le classement faible strict dans le sens mathématiques standard.Un attribut f(x,y) binaire est un objet de fonction qui a deux objets x et yd'argument, et une valeur de retour d' true ou d' false.Le classement imposé à un ensemble est faible l'ordre strict si l'attribut binaire est irréflexif, antisymétrique, et transitif, et si l'équivalence est transitive, où deux objets x et y sont définis pour être équivalents lorsque f(x,y)et f(y,x) sont false.Si l'état plus fort de l'égalité entre les clés remplace celui de l'équivalence, le classement est total (dans le sens que tous les éléments sont triés en ce qui concerne un autre), et les clés correspondance seront imperceptibles d'un autre.
Membres
Constructeurs
Construit une liste d'une taille particulière ou avec des éléments d'une valeur spécifique ou à allocator spécifique ou en tant que copie d'une autre carte. |
Typedef
Un typedef pour la classe d' allocator pour l'objet de mappage. |
|
Un typedef pour un itérateur bidirectionnel qui peut lire un élément d' const dans le mappage. |
|
Un typedef pour un pointeur à un élément d' const dans une carte. |
|
Un typedef pour une référence à un élément d' const stocké dans un mappage pour lire et effectuer des opérations d' const . |
|
Un type qui fournit un itérateur bidirectionnel qui peut lire un élément d' const dans le mappage. |
|
Un typedef d'entiers signés pour le nombre d'éléments d'un mappage dans une plage entre les éléments a globale pointe vers les itérateurs. |
|
Un typedef pour un itérateur bidirectionnel qui peut lire ou modifier un élément dans un mappage. |
|
Un typedef pour un objet de fonction qui peut comparer deux clés de tri pour déterminer la commande relative de deux éléments dans le mappage. |
|
Un typedef pour la clé de tri stockée dans chaque élément du mappage. |
|
Un typedef pour les données stockées dans chaque élément d'un mappage. |
|
Un typedef pour un pointeur à un élément d' const dans une carte. |
|
Un typedef pour une référence à un élément stocké dans une carte. |
|
Un typedef pour un itérateur bidirectionnel qui peut lire ou modifier un élément dans une carte inversée. |
|
Un typedef d'entier non signé correspondant au nombre d'éléments dans une carte |
|
Un typedef pour le type d'objet stocké comme un élément dans un mappage. |
Méthodes
Recherche un élément avec une valeur de clé spécifiée. |
|
Retourne un itérateur qui indique le premier élément dans le mappage. |
|
Retourne un itérateur const qui indique le premier élément dans le mappage. |
|
Retourne un itérateur const d'après-le- END. |
|
Efface tous les éléments d'un mappage. |
|
Retourne le nombre d'éléments dans une carte dont la clé correspond à la clé spécifiée dans un paramètre. |
|
Retourne un itérateur const qui indique le premier élément dans une carte inversée. |
|
Retourne un itérateur const qui indique l'emplacement après le dernier élément dans une carte inversée. |
|
Insère un élément construit en place dans le mappage. |
|
Insère un élément construit en place dans le mappage, avec un indicateur de positionnement. |
|
Retourne true si une carte est vide. |
|
Retourne l'itérateur d'après-le- END. |
|
Retourne une paire d'itérateurs.Le premier itérateur en points de paires au premier élément de map avec une clé qui est supérieure à une clé spécifiée.Le deuxième itérateur en points de paires au premier élément de map avec une clé à laquelle est égal ou supérieur à la clé. |
|
Supprime un élément ou une plage d'éléments dans une carte des positions spécifiées. |
|
Retourne un itérateur qui indique l'emplacement d'un élément dans un mappage qui a un principal égal à une clé spécifiée. |
|
Retourne une copie de l'objet d' allocator utilisé pour construire la carte. |
|
Insère un élément ou une plage d'éléments dans le mappage à une position spécifiée. |
|
Retourne une copie de l'objet de comparaison qui classait des clés dans une carte. |
|
Retourne un itérateur au premier élément dans un mappage qui a une valeur de clé à laquelle est égal ou supérieur à celui d'une clé spécifiée. |
|
Retourne la longueur maximale du mappage. |
|
Retourne un itérateur qui indique le premier élément dans une carte inversée. |
|
Retourne un itérateur qui indique l'emplacement après le dernier élément dans une carte inversée. |
|
Retourne le nombre d'éléments dans le mappage. |
|
Permute les éléments de deux cartes. |
|
Retourne un itérateur au premier élément dans un mappage qui a une valeur de clé supérieure à celle d'une clé spécifiée. |
|
Extrait une copie de l'objet de comparaison utilisé pour classer des valeurs d'élément dans un mappage. |
Opérateurs
Insère un élément dans un mappage avec une valeur de clé spécifiée. |
|
Remplace les éléments d'un mappage par une copie d'une autre carte. |
Configuration requise
En-tête : <map>
L'espace de noms : DST
Voir aussi
Référence
Sécurité des threads dans la bibliothèque C++ standard