Compartilhar via


Classe CMap

Uma classe de coleção de dicionário que mapeia chaves exclusivas para valores.

template< class KEY, class ARG_KEY, class VALUE, class ARG_VALUE >class CMap : public CObject

Parâmetros

  • KEY
    Classe de objeto usado como a chave do mapa.

  • ARG _ KEY
    Tipo de dados usado para argumentos de KEY ; geralmente uma referência a KEY.

  • VALUE
    Classe de objeto armazenado no mapa.

  • ARG _ VALUE
    Tipo de dados usado para argumentos de VALUE ; geralmente uma referência a VALUE.

Membros

Estruturas públicas

Nome

Descrição

CMap::CPair

Uma estrutura aninhada que contém um valor da chave e o valor do objeto associado.

Construtores public

Nome

Descrição

CMap::CMap

Constrói uma coleção que mapeia chaves para valores.

Métodos públicos

Nome

Descrição

CMap::GetCount

Retorna o número de elementos em esse mapeamento.

CMap::GetHashTableSize

Retorna o número de elementos na tabela hash.

CMap::GetNextAssoc

Obtém o próximo elemento para iterar.

CMap::GetSize

Retorna o número de elementos em esse mapeamento.

CMap::GetStartPosition

Retorna a posição do primeiro elemento.

CMap::InitHashTable

Inicializa o hash e especifique seu tamanho.

CMap::IsEmpty

Testa a condição de mapa vazio- (elementos).

CMap::Lookup

Pesquisa o valor mapeado para uma determinada chave.

CMap::PGetFirstAssoc

Retorna um ponteiro para o primeiro elemento.

CMap::PGetNextAssoc

Obtém um ponteiro para o próximo elemento para iterar.

CMap::PLookup

Retorna um ponteiro a uma chave cujo valor corresponde ao valor especificado.

CMap::RemoveAll

Remove todos os elementos de esse mapeamento.

CMap::RemoveKey

Remove um elemento especificado por uma chave.

CMap::SetAt

Insere um elemento no mapa; substitui um elemento existente se uma tecla correspondente for encontrada.

Operadores públicos

Nome

Descrição

[CMap::operator]

Insere um elemento no mapa — substituição do operador para SetAt.

Comentários

Uma vez que você inseriu um par chave-valor (elemento) no mapa de forma eficiente, você pode recuperar ou exclua os pares usando a chave para acessá-lo. Você também pode iterar todos os elementos no mapa.

Uma variável do tipo POSIÇÃO é usado para acesso alternativo as entradas. Você pode usar POSIÇÃO “memoriza” uma entrada e iterar-lo através do mapa. Você pode pensar que essa interação é seqüencial pelo valor da chave; não é. A seqüência de elementos recuperados é indefinida.

Determinadas funções de membro de essa classe chamam funções auxiliares globais que devem ser personalizadas para a maioria dos usos da classe de CMap . Consulte Auxiliares de classe de coleção na seção de macros e de Globais de MFCReference.

CMap substitui CObject::Serialize para oferecer suporte a serialização e a despejo de seus elementos. Se um mapa é armazenado em um arquivo usando Serializeneutro, cada elemento do mapa é serializado por sua vez. A implementação padrão de função auxiliar de SerializeElements faz uma gravação bit a bit. Para obter informações sobre serialização da coleção de itens do ponteiro derivados de CObject ou outros tipos definidos pelo usuário, consulte Como fazer uma coleção fortemente tipada.

Se você precisar de um despejo diagnóstico dos elementos individuais no mapa (as chaves e valores), você deve definir o tamanho do contexto de um despejo a 1 ou maior.

Quando um objeto de CMap é excluído, ou quando seus elementos são removidos, as chaves e valores ambas são removidos.

A derivação da classe de mapa é semelhante à derivação da lista. Consulte o artigo coleções para uma ilustração de derivar de uma classe de lista de propósito especial.

Hierarquia de herança

CObject

CMap

Requisitos

Cabeçalho: afxtempl.h

Consulte também

Referência

Classe CObject

Gráfico da hierarquia

Conceitos

O exemplo COLETA MFC