Compartir a través de


CMapStringToOb::GetNextAssoc

Recupera el elemento de mapa en el rNextPosition, después actualiza el rNextPosition para hacer referencia al elemento siguiente en el mapa.

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

Parámetros

  • rNextPosition
    especifica una referencia a un valor devuelto de POSICIÓN por una llamada anterior de GetNextAssoc o de GetStartPosition .

  • rKey
    Especifica la clave devuelta de elemento recuperado (una cadena).

  • rValue
    Especifica el valor devuelto del elemento recuperado (un puntero de CObject ).Vea las notas para más información sobre este parámetro.

Comentarios

Esta función es muy útil para iterar por todos los elementos de mapa.Observe que la secuencia de la posición no es necesariamente igual a la secuencia de valores de clave.

Si el elemento recuperado es el último del mapa, el nuevo valor de rNextPosition se establece en NULL.

Para el parámetro rValue, asegúrese de convertir el tipo de objeto a CObject*&, que es lo que requiere el compilador, como se muestra en el ejemplo siguiente:

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

Esto no es true de GetNextAssoc para las asignaciones basadas en las plantillas.

La tabla siguiente se muestran otras funciones miembro que son similares a CMapStringToOb:: GetNextAssoc.

Clase

Función miembro

CMapPtrToPtr

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de void*&, rValue de void*&);

CMapPtrToWord

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de void*&, rValue de WORD&);

CMapStringToPtr

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de CString&, rValue de void*&);

CMapStringToString

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de CString&, rValue de CString&);

CMapWordToOb

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de WORD&, rValue de CObject*&);

CMapWordToPtr

const vacío de GetNextAssoc (rNextPosition de POSITION&, rKey de WORD&, rValue de void*&);

Ejemplo

Vea CObList:: CObList para una lista de la clase de CAge utilizada en todos los ejemplos de la colección.

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
}

Los resultados de este programa son los siguientes:

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

encabezado: afxcoll.h

Vea también

Referencia

Clase de CMapStringToOb

Gráfico de jerarquía

CMapStringToOb::GetStartPosition