Partilhar via


CMapStringToOb::GetNextAssoc

Recupera o elemento de mapa rNextPosition no, então atualiza o rNextPosition para se referir ao elemento seguir no mapa.

void GetNextAssoc(
   POSITION& rNextPosition,
   CString& rKey,
   CObject*& rValue 
) const;

Parâmetros

  • rNextPosition
    Especifica uma referência a um valor de POSIÇÃO retornado por uma chamada anterior de GetNextAssoc ou de GetStartPosition .

  • rKey
    Especifica a chave retornado do elemento recuperado (uma cadeia de caracteres).

  • rValue
    Especifica o valor retornado do elemento recuperado (um ponteiro de CObject ).Consulte comentários para obter mais informações sobre este parâmetro.

Comentários

Essa função é útil para iterar por todos os elementos no mapa.Observe que a seqüência da posição não é necessariamente a mesma que a seqüência de valor de chave.

Se o elemento recuperado é o último no mapa, então o novo valor de rNextPosition é definido como NULO.

Para o parâmetro de rValue , certifique-se de converter o tipo de objeto a CObject*&, que é o que o compilador requer, conforme mostrado no exemplo o seguir:

CObject* ob;
map.GetNextAssoc(pos, key, (CObject*&)ob);      

Isso não é válido de GetNextAssoc para os mapeamentos com base em modelos.

A tabela a seguir mostra outras funções de membro que são semelhantes a CMapStringToOb::GetNextAssoc.

Classe

Função de membro

CMapPtrToPtr

void GetNextAssoc( POSITION& rNextPosition, void*& rKey, void*& rValue ) const;

CMapPtrToWord

void GetNextAssoc( POSITION& rNextPosition, void*& rKey, WORD& rValue ) const;

CMapStringToPtr

void GetNextAssoc( POSITION& rNextPosition, CString& rKey, void*& rValue ) const;

CMapStringToString

void GetNextAssoc( POSITION& rNextPosition, CString& rKey, CString& rValue ) const;

CMapWordToOb

void GetNextAssoc( POSITION& rNextPosition, WORD& rKey, CObject*& rValue ) const;

CMapWordToPtr

void GetNextAssoc( POSITION& rNextPosition, WORD& rKey, void*& rValue ) const;

Exemplo

Consulte CObList::CObList para uma listagem da classe de CAge usada em todos os exemplos de coleção.

CMapStringToOb map;
POSITION pos;
CString key;
CAge* pa;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
// Iterate through the entire map, dumping both name and age.
for (pos = map.GetStartPosition(); pos != NULL;)
{
   map.GetNextAssoc(pos, key, (CObject*&)pa);
   #ifdef _DEBUG
         afxDump << key << _T(" : ") << pa << _T("\n");
   #endif
}

Os resultados do programa é a seguinte:

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

Requisitos

Cabeçalho: afxcoll.h

Consulte também

Referência

Classe de CMapStringToOb

Gráfico de hierarquia

CMapStringToOb::GetStartPosition