CMapStringToOb::GetNextAssoc
Recupera o elemento do MAP de rNextPosition, em seguida, atualiza rNextPosition para referir-se o próximo elemento no MAP.
void GetNextAssoc(
POSITION& rNextPosition,
CString& rKey,
CObject*& rValue
) const;
Parâmetros
rNextPosition
Especifica uma referência a um POSIÇÃO valor retornado por um anteriorGetNextAssoc or GetStartPosition telefonar.rKey
Especifica a chave retornada do elemento recuperada (uma seqüência de caracteres).rValue
Especifica o valor retornado do elemento recuperado (uma CObject ponteiro).Consulte comentários para obter mais informações sobre esse parâmetro.
Comentários
Essa função é mais útil para iterar em todos os elementos no MAP.Observe que a sequência de posição não é necessariamente o mesmo que a sequência de valor da chave.
Se o elemento recuperado for o último no MAP e, em seguida, o novo valor de rNextPosition is conjunto to NULO.
O rValue parâmetro, certifique-se de converter o tipo de objeto a ser CObject * &, que é o que exige o compilador, sistema autônomo mostrado no exemplo a seguir:
CObject* ob;
map.GetNextAssoc(pos, key, (CObject*&)ob);
Não é verdade GetNextAssoc mapas com base em modelos.
A tabela a seguir mostra outras funções de membro semelhantes a CMapStringToOb::GetNextAssoc.
Classe |
Função de membro |
---|---|
void GetNextAssoc (POSITION & rNextPosition, void * & rKey, void * &rValue ) const; |
|
void GetNextAssoc (POSITION & rNextPosition, void * &de rKey de , palavra &rValue ) const; |
|
void GetNextAssoc (POSITION & de rNextPosition de , CString & rKey, void * &rValue ) const; |
|
void GetNextAssoc (POSITION & de rNextPosition de , CString &de rKey de , CString &rValue ) const; |
|
void GetNextAssoc (POSITION & de rNextPosition de , palavra &de rKey de , CObject * &rValue ) const; |
|
void GetNextAssoc (POSITION & de rNextPosition de , palavra & rKey, void * &rValue ) const; |
Exemplo
See CObList::CObList para obter uma lista do CAge classe 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
}
sistema autônomo resultados deste programa são da seguinte maneira:
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
CMapStringToOb::GetStartPosition