map Class
Utilizado para el almacenamiento y la recuperación de datos de una colección en la que cada elemento es un par que tiene un valor de datos y un criterio de ordenación.El valor de la clave es único y se utiliza automáticamente para ordenar los datos.
El valor de un elemento en un mapa se puede cambiar directamente.El valor de clave es una constante y no se puede cambiar.En su lugar, los valores de clave asociados a los antiguos elementos deben eliminarse, y los nuevos valores de clave se deben insertar para los nuevos elementos.
template <
class Key,
class Type,
class Traits = less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class map
Parámetros
Key
El tipo de datos clave que se almacene en el mapa.Type
El tipo de datos del elemento que se almacene en el mapa.Traits
El tipo que proporciona un objeto de función que puede comparar dos valores de elemento como criterio de ordenación para determinar el orden relativo en el mapa.Este argumento es opcional y el predicado binario less<Key> es el valor predeterminado.Allocator
El tipo que representa el objeto almacenado de asignador que encapsula los detalles sobre la asignación y la desasignación de asignación de memoria.Este argumento es opcional y el valor predeterminado es allocator<pair<constKey*,* Type> >.
Comentarios
La clase estándar del mapa de (STL) de la plantilla es:
Un contenedor de tamaño variable que recupera eficazmente valores de elementos basándose en los valores de clave asociados.
Reversible, porque proporciona iteradores bidireccionales para tener acceso a sus elementos.
Ordenados, porque los elementos se ordenan por valores de clave de una función especificada de la comparación.
Único.dado que cada uno de sus elementos debe tener una clave única.
Un contenedor par- asociativa, porque los valores de los datos de elemento son distintos de los valores de clave.
Una clase de plantilla, porque la funcionalidad que proporciona es genérica y independiente del elemento o el tipo de la clave.Especificar los tipos de datos utilizados para los elementos y las claves como los parámetros de la plantilla de clase junto con la función y el asignador de comparación.
El iterador proporcionado por la clase de mapa es un iterador bidireccional, pero las funciones miembro de clase de inserción y de mapa tienen versiones que toman como parámetros de plantilla un iterador más débil de entrada, cuyos requisitos de funcionalidad son menores que los garantizados por la clase de iteradores bidireccionales.Los distintos conceptos de iterador que están relacionados por refinamientos en su funcionalidad.Cada concepto de iterador tiene su propio conjunto de requisitos, y algoritmos que ejecutan se deberían restringir por esos requisitos.Un iterador de entrada se puede desreferenciar para hacer referencia a algún objeto y se puede aumentar el iterador siguiente de la secuencia.
Se recomienda que se basa la opción de tipo de contenedor en la clase de buscar e insertar que requiere la aplicación.Los contenedores asociativos se optimizan para las operaciones de búsqueda, de inserción, y de eliminación.Las funciones miembro que explícitamente admite estas operaciones las realiza en una hora que sea por término medio proporcional al logaritmo del número de elementos en el contenedor.Insertar elementos no invalida ningún iterador, y quitar elementos reemplaza solo los iteradores que señala específicamente a los elementos eliminados.
Se recomienda crear el mapa el contenedor asociativa choice si las condiciones que los valores de asociado con las claves son satisfechos por la aplicación.Un modelo para este tipo de estructura es una lista ordenada de forma única para que las palabras clave que tienen asociados los valores de cadena que proporcionan definiciones.Si una palabra tiene más de una definición correcta, de modo que la clave no es única, un multimap sería el contenedor de la opción.Si simplemente la lista de palabras se almacena, un conjunto sería el contenedor adecuado.Si varias apariciones de las palabras se permiten, un conjunto múltiple sería adecuado.
El mapa ordena los elementos que controla llamando a un objeto almacenado de función de key_compare escrito.Este objeto almacenado es una función de comparación que se logra llamando al método de key_comp.Los dos elementos especificados se comparan normalmente para determinar si uno es menor que otro o si es equivalente.Cuando se comparan todos los elementos, secuencia ordenada de elementos distintos se crea.
[!NOTA]
La función de comparación es un predicado binario que induce la ordenación parcial estricto en el sentido matemático estándar.Un predicado binario f(x,y) es un objeto de función que tiene dos objetos x y y argument, y un valor devuelto de true o de false.El orden impuesto a un conjunto es el orden débil estricto si el predicado binario es irreflexive, antisimétrico, y transitiva y, si la equivalencia es transitiva, donde dos objetos x y y se definen para ser equivalentes cuando f(x,y) y f(y,x) es false.Si la condición más fuerte de igualdad entre las teclas reemplaza el de equivalencia, el orden se total (en el sentido de que todos los elementos están ordenados con respecto a otro), y las claves coincidentes se imperceptibles desde otro.
Members
Constructores
Crea una lista de un tamaño concreto o con elementos de un valor concreto o con allocator concreto o como copia de algún otro mapa. |
Typedefs
Una definición de tipos para la clase de allocator para el objeto de asignación. |
|
Una definición de tipos para un iterador bidireccional que puede leer un elemento de const en el mapa. |
|
Una definición de tipos para un puntero a un elemento de const en un mapa. |
|
Una definición de tipos para una referencia a un elemento de const almacenado en un mapa para leer y realizar operaciones de const. |
|
Un tipo que proporciona un iterador bidireccional que pueda leer cualquier elemento de const en el mapa. |
|
Una definición de entero con signo del número de elementos de un mapa en un intervalo entre los elementos al que los iteradores. |
|
Una definición de tipos para un iterador bidireccional que puede leer o modificar cualquier elemento de un mapa. |
|
Una definición de tipos para un objeto de función que puede comparar dos criterios de ordenación para determinar el orden relativo de dos elementos del mapa. |
|
Una definición del criterio de ordenación almacenado en cada elemento de mapa. |
|
Una definición de tipos para los datos almacenados en cada elemento de un mapa. |
|
Una definición de tipos para un puntero a un elemento de const en un mapa. |
|
Una definición de tipos para una referencia a un elemento almacenado en un mapa. |
|
Una definición de tipos para un iterador bidireccional que puede leer o modificar un elemento de un mapa invertido. |
|
Una definición de entero sin signo del número de elementos de un mapa |
|
Una definición de tipos para el tipo de objeto almacenado como elemento en un mapa. |
Métodos
Busca un elemento con un valor de clave especificado. |
|
Devuelve un iterador que señala al primer elemento del mapa. |
|
Devuelve un iterador const que señala al primer elemento del mapa. |
|
Devuelve un iterador de la más allá -- FIN const. |
|
Borra todos los elementos de un mapa. |
|
Devuelve el número de elementos de un mapa cuya clave coincide con la clave especificada en un parámetro. |
|
Devuelve un iterador const que señala al primer elemento de un mapa invertido. |
|
Devuelve un iterador const que señale a la ubicación después del último elemento en un mapa invertido. |
|
Inserta un elemento construido en el lugar en el mapa. |
|
Inserta un elemento construido en el lugar en el mapa, con una sugerencia de posición. |
|
Devuelve true si un mapa está vacío. |
|
Devuelve el iterador de la más allá--FIN. |
|
Devuelve un par de iteradores.El primer iterador en puntos de pares al primer elemento de map cuya clave es mayor que una clave especificada.El segundo iterador en puntos de pares al primer elemento de map con una clave a la que sea igual o mayor que la clave. |
|
Quita un elemento o un intervalo de elementos de un mapa de las posiciones especificadas. |
|
Devuelve un iterador que señale a la ubicación de un elemento en un mapa que tiene un valor igual key en una clave especificada. |
|
Devuelve una copia del objeto de allocator que se utiliza para construir el mapa. |
|
Inserta un elemento o un intervalo de elementos del mapa en una posición especificada. |
|
Devuelve una copia del objeto de comparación que le pida las teclas en un mapa. |
|
Devuelve un iterador al primer elemento de un mapa que tiene un valor de clave al que sea igual o mayor que el de una clave especificada. |
|
Devuelve la longitud máxima del mapa. |
|
Devuelve un iterador que señala al primer elemento de un mapa invertido. |
|
Devuelve un iterador que señale a la ubicación después del último elemento en un mapa invertido. |
|
Devuelve el número de elementos del mapa. |
|
Cambie los elementos de dos mapas. |
|
Devuelve un iterador al primer elemento de un mapa que tiene un valor de clave mayor que el de una clave especificada. |
|
Recupera una copia del objeto de comparación que se utiliza para ordenar valores de un mapa. |
Operadores
Inserta un elemento en un mapa con un valor de clave especificado. |
|
Reemplaza los elementos de un mapa con una copia de otro mapa. |
Requisitos
Encabezado: <map>
Espacio de nombres: std
Vea también
Referencia
Seguridad para subprocesos de la biblioteca estándar de C++
Biblioteca de plantillas estándar