Partilhar via


CTypedPtrMap Classe

Fornece um "wrapper" seguro para tipos para objetos das classes CMapPtrToPtrde mapa de ponteiro , , CMapPtrToWordCMapWordToPtr, e CMapStringToPtr.

Sintaxe

template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS

Parâmetros

BASE_CLASS
Classe base da classe do mapa de ponteiro digitado; deve ser uma classe de mapa de ponteiro (CMapPtrToPtr, CMapPtrToWord, CMapWordToPtr, ou CMapStringToPtr).

CHAVE
Classe do objeto usado como chave para o mapa.

VALOR
Classe do objeto armazenado no mapa.

Membros

Métodos Públicos

Nome Descrição
CTypedPtrMap::GetNextAssoc Obtém o próximo elemento para iteração.
CTypedPtrMap::Pesquisa Devolve um KEY com base num VALUEficheiro .
CTypedPtrMap::RemoveKey Remove um elemento especificado por uma chave.
CTypedPtrMap::SetAt Insere um elemento no mapa; substitui um elemento existente se uma chave correspondente for encontrada.

Operadores Públicos

Nome Descrição
CTypedPtrMap::operador [ ] Insere um elemento no mapa.

Observações

Quando você usa CTypedPtrMapo , o recurso de verificação de tipos C++ ajuda a eliminar erros causados por tipos de ponteiro incompatíveis.

Como todas as CTypedPtrMap funções estão embutidas, o uso desse modelo não afeta significativamente o tamanho ou a velocidade do seu código.

Para obter mais informações sobre como usar CTypedPtrMapo , consulte os artigos Coleções e classes deTemplate-Based.

Hierarquia de herança

BASE_CLASS

CTypedPtrMap

Requerimentos

Cabeçalho: afxtempl.h

CTypedPtrMap::GetNextAssoc

Recupera o elemento de mapa em e, em rNextPositionseguida, atualiza rNextPosition para fazer referência ao próximo elemento no mapa.

void GetNextAssoc(
    POSITION& rPosition,
    KEY& rKey,
    VALUE& rValue) const;

Parâmetros

rPosição
Especifica uma referência a um valor POSITION retornado por uma chamada anterior GetNextAssoc ou BASE_CLASS::GetStartPosition .

CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.

rChave
Especifica a chave retornada do elemento recuperado.

VALOR
Parâmetro de modelo que especifica o tipo de valores do mapa.

rValor
Especifica o valor retornado do elemento recuperado.

Observações

Esta função é mais útil para iterar através de todos os elementos no mapa. Observe que a sequência de posição não é necessariamente a mesma que a sequência de valores de chave.

Se o elemento recuperado for o último no mapa, o novo valor de rNextPosition será definido como NULL.

Esta função embutida chama BASE_CLASS::GetNextAssoc.

CTypedPtrMap::Pesquisa

Lookup usa um algoritmo de hash para encontrar rapidamente o elemento map com uma chave que corresponde exatamente.

BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;

Parâmetros

BASE_CLASS
Parâmetro de modelo que especifica a classe base da classe deste mapa.

chave
A chave do elemento a ser pesquisado.

VALOR
Parâmetro de modelo que especifica o tipo de valores armazenados neste mapa.

rValor
Especifica o valor retornado do elemento recuperado.

Valor de retorno

Diferente de zero se o elemento foi encontrado; caso contrário, 0.

Observações

Esta função embutida chama BASE_CLASS::Lookup.

CTypedPtrMap::operador [ ]

Este operador pode ser usado apenas no lado esquerdo de uma instrução de atribuição (um valor l).

VALUE& operator[ ](base_class ::base_arg_key key);

Parâmetros

VALOR
Parâmetro de modelo que especifica o tipo de valores armazenados neste mapa.

BASE_CLASS
Parâmetro de modelo que especifica a classe base da classe deste mapa.

chave
A chave do elemento a ser pesquisado ou criado no mapa.

Observações

Se não houver nenhum elemento map com a chave especificada, um novo elemento será criado. Não existe um "lado direito" (valor r) equivalente a este operador porque existe a possibilidade de uma chave não ser encontrada no mapa. Use a função de membro para recuperação de Lookup elementos.

CTypedPtrMap::RemoveKey

Esta função de membro chama BASE_CLASS::RemoveKey.

BOOL RemoveKey(KEY key);

Parâmetros

CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.

chave
Chave para o elemento a ser removido.

Valor de retorno

Diferente de zero se a entrada foi encontrada e removida com êxito; caso contrário, 0.

Observações

Para obter observações mais detalhadas, consulte CMapStringToOb::RemoveKey.

CTypedPtrMap::SetAt

Esta função de membro chama BASE_CLASS::SetAt.

void SetAt(KEY key, VALUE newValue);

Parâmetros

CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.

chave
Especifica o valor da chave de newValue.

novoValor
Especifica o ponteiro de objeto que é o valor do novo elemento.

Observações

Para obter observações mais detalhadas, consulte CMapStringToOb::SetAt.

Ver também

MFC Amostra COLLECT
Gráfico de Hierarquia
Classe CMapPtrToPtr
Classe CMapPtrToWord
Classe CMapWordToPtr
Classe CMapStringToPtr