Compartilhar via


map Class

Usado para armazenamento e recuperação de dados de uma coleção em que cada elemento é um controle que tem um valor de dados e uma chave de tipo.O valor da chave é exclusivo e é usado para classificar os dados automaticamente.

O valor de um elemento em um mapa pode ser alterado diretamente.O valor da chave é uma constante e não pode ser alterado.Em vez disso, os valores associados com os principais elementos antigos devem ser excluídos, e os novos valores da chave devem ser inseridos para novos elementos.

template <
   class Key, 
   class Type, 
   class Traits = less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class map

Parâmetros

  • Key
    O tipo de dados principal para ser armazenado no mapa.

  • Type
    O elemento tipo de dados a ser armazenado no mapa.

  • Traits
    O tipo que fornece um objeto de função que possa comparar dois valores de elemento como chaves de tipo para determinar a ordem relativa no mapa.Esse argumento é opcional e o predicado binário less<Key> é o valor padrão.

  • Allocator
    O tipo que representa o objeto armazenado do distribuidor que encapsula detalhes sobre a alocação e a desalocação do mapa de memória.Esse argumento é opcional e o valor padrão é allocator<pair<constKey*,* Type> >.

Comentários

A classe de mapa de (STL) da biblioteca do modelo é:

  • Um recipiente de tamanho variável que recupera com valores de elemento base nos valores de associados.

  • Reversível, porque fornece iteradores bidirecionais para acessar seus elementos.

  • Ordenada, porque seus elementos são ordenados por chave valores de acordo com uma função especificada de comparação.

  • Exclusivo.porque cada um dos seus elementos deve ter uma chave exclusiva.

  • Um contêiner par- associativo, porque seus valores de dados do elemento são distintos de seus valores chave.

  • Uma classe de modelo, porque a funcionalidade que fornece é genérico e independente do elemento ou tipo de chave.Os tipos de dados usados para os elementos e as chaves são especificados como parâmetros no modelo de classe juntamente com a função e o distribuidor de comparação.

O iterador fornecido pela classe é um mapa de iterador bidirecional, mas as funções de membro da classe de inserção e de mapa têm as versões que recebem como parâmetros de modelo um iterador mais flexível de entrada, cujos requisitos de funcionalidade é menor do que aquelas se a classe de iteradores bidirecionais.Os conceitos diferentes de iterador são relacionados por refinamentos em sua funcionalidade.Cada conceito de iterador tem seu próprio conjunto de requisitos, e os algoritmos que funcionam com ele deve ser delimitados pelos requisitos.Um iterador de entrada pode ser desreferenciado para referir-se a qualquer objeto e pode ser incrementado ao iterador seguir na sequência.

Recomendamos que você baseia a escolha do tipo recipiente no tipo de pesquisa e inserir isso é necessário pelo aplicativo.Contêiners associativos são otimizados para operações de pesquisa, insert, e remoção.As funções de membro que suportam explicitamente essas operações nas executa em um horário que estão na média proporcionalmente para o logaritmo o número de elementos no recipiente.Inserindo os elementos não invalida nenhum iterador, e remover elementos invalida somente os iteradores que apontaram especificamente para elementos removidos.

Recomendamos que você fizer o mapa o contêiner associativo de opção quando as condições que associam valores com chaves forem atendidas pelo aplicativo.Um modelo para esse tipo de estrutura é uma lista ordenada exclusivamente de ocorrer o palavras-chave que possui valores de cadeia de caracteres que fornecem definições.Se uma palavra tem mais de uma definição correta, de modo que a chave não é exclusivo, então um multimap seria o contêiner de escolha.Se apenas a lista de palavras que está sendo utilizada, então um conjunto seria o recipiente apropriado.Se várias ocorrências da palavra são permitidas, então um multiset seria apropriado.

O mapa que os elementos que controla chamando um objeto armazenado na função do tipo key_compare.Este objeto armazenado é uma função de comparação que é acessada chamando o método de key_comp .Em geral, todos os dois elementos dados são comparados para determinar se um for menor do que o outro se ou são equivalentes.Como todos os elementos são comparados, uma sequência ordenada dos elementos do equivalente não é criada.

ObservaçãoObservação

A função de comparação binária é um predicado que induza ordenação fraco strict no sentido matemático padrão.Um predicado f(x,y) de binária é um objeto de função que tem dois objetos x e ydo argumento, e um valor de retorno de true ou de false.Classificação aplicada em um conjunto de livre é restrito se o predicado binária é irreflexive, anti-simétrico, e transitivo, e se equivalências é transitiva, onde dois objetos x e y são definidos para ser equivalentes quando f(x,y)e f(y,x) é false.Se a condição mais segura de igualdade entre chaves substitui os de ordenação se torna total, equivalência (no sentido que todos os elementos são ordenados em relação a um outro), e as chaves correspondidas serão indiscerníveis de outro.

Membros

s44w4h2s.collapse_all(pt-br,VS.110).gifConstrutores

mapa

Constrói uma lista de um tamanho específico ou com elementos de um valor específico ou com allocator específico ou como uma cópia de um outro mapa.

s44w4h2s.collapse_all(pt-br,VS.110).gifTypedefs

allocator_type

Um typedef para a classe de allocator para o objeto de mapa.

const_iterator

Um typedef para um iterador bidirecional que possa ler um elemento de const no mapa.

const_pointer

Um typedef para um ponteiro para um elemento de const em um mapa.

const_reference

Um typedef para uma referência a um elemento de const armazenado em um mapa para ler e executar operações de const .

const_reverse_iterator

Um tipo que fornece um iterador bidirecional que pode ler qualquer elemento de const no mapa.

difference_type

Typedef de um inteiro com sinal para o número de elementos de um mapa em um intervalo entre elementos. apontado por iteradores

iterador

Um typedef para um iterador bidirecional que pode ler ou modificar qualquer elemento em um mapa.

key_compare

Um typedef para um objeto de função que pode comparar duas chaves de tipo para determinar a ordem relativo de dois elementos no mapa.

key_type

Um typedef para a chave de tipo armazenada em cada elemento do mapa.

mapped_type

Um typedef para dados armazenados em cada elemento de um mapa.

ponteiro

Um typedef para um ponteiro para um elemento de const em um mapa.

referência

Um typedef para uma referência a um elemento armazenado em um mapa.

reverse_iterator

Um typedef para um iterador bidirecional que pode ler ou modificar um elemento em um mapa invertido.

size_type

Um typedef inteiro sem sinal de para o número de elementos em um mapa

Tipo de valor

Um typedef para o tipo de objeto armazenado como um elemento em um mapa.

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

map::at

Localizar um elemento com um valor de chave especificado.

inicie

Retorna um iterador que aponta para o primeiro elemento no mapa.

map::cbegin

Retorna um iterador const que aponta para o primeiro elemento no mapa.

map::cend

Retorna um iterador de após -- final const.

espaço livre

Apaga todos os elementos de um mapa.

contagem

Retorna o número de elementos em um mapa cuja chave coincide com a chave especificada em um parâmetro.

map::crbegin

Retorna um iterador const que aponta para o primeiro elemento em um mapa invertido.

map::crend

Retorna um iterador const que aponta para o local após o último elemento em um mapa invertido.

map::emplace

Insere um elemento construído no lugar no mapa.

map::emplace_hint

Insere um elemento construído no lugar no mapa, com uma dica de posicionamento.

vazio

Retorna true se um mapa está vazia.

end

Retorna o iterador de depois de fim.

equal_range

Retorna um par de iteradores.O primeiro iterador nos pontos de pares para o primeiro elemento em map com uma chave que é maior do que uma chave especificada.O segundo iterador nos pontos de pares para o primeiro elemento em map com uma chave para que é igual ou maior do que a chave.

erase

Remove um elemento ou um intervalo de elementos em um mapa das posições especificadas.

localizar

Retorna um iterador que aponta para o local de um elemento em um mapa que tem uma chave igual a uma chave especificada.

get_allocator

Retorna uma cópia do objeto de allocator que é usado para construir o mapa.

inserção

Insere um elemento ou um intervalo de elementos no mapa em uma posição especificada.

key_comp

Retorna uma cópia do objeto de comparação que usou para ordenar chaves em um mapa.

lower_bound

Retorna um iterador para o primeiro elemento em um mapa que tem um valor de chave que é igual ou maior do que de uma chave especificada.

max_size

Retorna o comprimento máximo de mapa.

rbegin

Retorna um iterador que aponta para o primeiro elemento em um mapa invertido.

arrancar

Retorna um iterador que aponta para o local após o último elemento em um mapa invertido.

tamanho

Retorna o número de elementos no mapa.

troca

Troca os elementos de dois mapas.

upper_bound

Retorna um iterador para o primeiro elemento em um mapa que tem um valor de chave que é maior do que a de uma chave especificada.

value_comp

Recupera uma cópia do objeto de comparação que é usado para ordenar valores de elemento em um mapa.

s44w4h2s.collapse_all(pt-br,VS.110).gifOperadores

operador []

Insere um elemento em um mapa com um valor de chave especificado.

map::operator=

Substitui os elementos de um mapa com uma cópia de outro mapa.

Requisitos

Cabeçalho: <map>

Namespace: STD

Consulte também

Referência

Segurança do thread na biblioteca C++ padrão

Standard Template Library

Outros recursos

mapa de membros

<map> Membros