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çã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
Construtores
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. |
Typedefs
Um typedef para a classe de allocator para o objeto de mapa. |
|
Um typedef para um iterador bidirecional que possa ler um elemento de const no mapa. |
|
Um typedef para um ponteiro para um elemento de const em um mapa. |
|
Um typedef para uma referência a um elemento de const armazenado em um mapa para ler e executar operações de const . |
|
Um tipo que fornece um iterador bidirecional que pode ler qualquer elemento de const no mapa. |
|
Typedef de um inteiro com sinal para o número de elementos de um mapa em um intervalo entre elementos. apontado por iteradores |
|
Um typedef para um iterador bidirecional que pode ler ou modificar qualquer elemento em um mapa. |
|
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. |
|
Um typedef para a chave de tipo armazenada em cada elemento do mapa. |
|
Um typedef para dados armazenados em cada elemento de um mapa. |
|
Um typedef para um ponteiro para um elemento de const em um mapa. |
|
Um typedef para uma referência a um elemento armazenado em um mapa. |
|
Um typedef para um iterador bidirecional que pode ler ou modificar um elemento em um mapa invertido. |
|
Um typedef inteiro sem sinal de para o número de elementos em um mapa |
|
Um typedef para o tipo de objeto armazenado como um elemento em um mapa. |
Métodos
Localizar um elemento com um valor de chave especificado. |
|
Retorna um iterador que aponta para o primeiro elemento no mapa. |
|
Retorna um iterador const que aponta para o primeiro elemento no mapa. |
|
Retorna um iterador de após -- final const. |
|
Apaga todos os elementos de um mapa. |
|
Retorna o número de elementos em um mapa cuja chave coincide com a chave especificada em um parâmetro. |
|
Retorna um iterador const que aponta para o primeiro elemento em um mapa invertido. |
|
Retorna um iterador const que aponta para o local após o último elemento em um mapa invertido. |
|
Insere um elemento construído no lugar no mapa. |
|
Insere um elemento construído no lugar no mapa, com uma dica de posicionamento. |
|
Retorna true se um mapa está vazia. |
|
Retorna o iterador de depois de fim. |
|
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. |
|
Remove um elemento ou um intervalo de elementos em um mapa das posições especificadas. |
|
Retorna um iterador que aponta para o local de um elemento em um mapa que tem uma chave igual a uma chave especificada. |
|
Retorna uma cópia do objeto de allocator que é usado para construir o mapa. |
|
Insere um elemento ou um intervalo de elementos no mapa em uma posição especificada. |
|
Retorna uma cópia do objeto de comparação que usou para ordenar chaves em um mapa. |
|
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. |
|
Retorna o comprimento máximo de mapa. |
|
Retorna um iterador que aponta para o primeiro elemento em um mapa invertido. |
|
Retorna um iterador que aponta para o local após o último elemento em um mapa invertido. |
|
Retorna o número de elementos no mapa. |
|
Troca os elementos de dois mapas. |
|
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. |
|
Recupera uma cópia do objeto de comparação que é usado para ordenar valores de elemento em um mapa. |
Operadores
Insere um elemento em um mapa com um valor de chave especificado. |
|
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