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

s44w4h2s.collapse_all(es-es,VS.110).gifConstructores

mapa

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.

s44w4h2s.collapse_all(es-es,VS.110).gifTypedefs

allocator_type

Una definición de tipos para la clase de allocator para el objeto de asignación.

const_iterator

Una definición de tipos para un iterador bidireccional que puede leer un elemento de const en el mapa.

const_pointer

Una definición de tipos para un puntero a un elemento de const en un mapa.

const_reference

Una definición de tipos para una referencia a un elemento de const almacenado en un mapa para leer y realizar operaciones de const.

const_reverse_iterator

Un tipo que proporciona un iterador bidireccional que pueda leer cualquier elemento de const en el mapa.

difference_type

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.

Iterador

Una definición de tipos para un iterador bidireccional que puede leer o modificar cualquier elemento de un mapa.

key_compare

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.

key_type

Una definición del criterio de ordenación almacenado en cada elemento de mapa.

mapped_type

Una definición de tipos para los datos almacenados en cada elemento de un mapa.

pointer

Una definición de tipos para un puntero a un elemento de const en un mapa.

referencia

Una definición de tipos para una referencia a un elemento almacenado en un mapa.

reverse_iterator

Una definición de tipos para un iterador bidireccional que puede leer o modificar un elemento de un mapa invertido.

size_type

Una definición de entero sin signo del número de elementos de un mapa

value_type

Una definición de tipos para el tipo de objeto almacenado como elemento en un mapa.

s44w4h2s.collapse_all(es-es,VS.110).gifMétodos

map::at

Busca un elemento con un valor de clave especificado.

begin

Devuelve un iterador que señala al primer elemento del mapa.

map::cbegin

Devuelve un iterador const que señala al primer elemento del mapa.

map::cend

Devuelve un iterador de la más allá -- FIN const.

clear

Borra todos los elementos de un mapa.

count

Devuelve el número de elementos de un mapa cuya clave coincide con la clave especificada en un parámetro.

map::crbegin

Devuelve un iterador const que señala al primer elemento de un mapa invertido.

map::crend

Devuelve un iterador const que señale a la ubicación después del último elemento en un mapa invertido.

map::emplace

Inserta un elemento construido en el lugar en el mapa.

map::emplace_hint

Inserta un elemento construido en el lugar en el mapa, con una sugerencia de posición.

empty

Devuelve true si un mapa está vacío.

end

Devuelve el iterador de la más allá--FIN.

equal_range

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.

barrido

Quita un elemento o un intervalo de elementos de un mapa de las posiciones especificadas.

find

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.

get_allocator

Devuelve una copia del objeto de allocator que se utiliza para construir el mapa.

inserción

Inserta un elemento o un intervalo de elementos del mapa en una posición especificada.

key_comp

Devuelve una copia del objeto de comparación que le pida las teclas en un mapa.

lower_bound

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.

max_size

Devuelve la longitud máxima del mapa.

rbegin

Devuelve un iterador que señala al primer elemento de un mapa invertido.

rend

Devuelve un iterador que señale a la ubicación después del último elemento en un mapa invertido.

size

Devuelve el número de elementos del mapa.

intercambio

Cambie los elementos de dos mapas.

upper_bound

Devuelve un iterador al primer elemento de un mapa que tiene un valor de clave mayor que el de una clave especificada.

value_comp

Recupera una copia del objeto de comparación que se utiliza para ordenar valores de un mapa.

s44w4h2s.collapse_all(es-es,VS.110).gifOperadores

operator[]

Inserta un elemento en un mapa con un valor de clave especificado.

map::operator=

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

Otros recursos

miembros de mapa

miembros de <Asignar>