CMapStringToOb::SetAt
El medio principal insertar un elemento en un mapa.
void SetAt(
LPCTSTR key,
CObject* newValue
);
Parámetros
key
Especifica la cadena que es la clave del nuevo elemento.newValue
Especifica el puntero de CObject que es el valor del nuevo elemento.
Comentarios
En primer lugar, la clave se busca.Si se encuentra la clave, se cambia el valor correspondiente; si no es un nuevo elemento del valor de clave se crea.
La tabla siguiente se muestran otras funciones miembro que son similares a CMapStringToOb::SetAt.
Clase |
Función miembro |
---|---|
void SetAt( void* key, void* newValue); |
|
void SetAt( void* key, WORD newValue); |
|
void SetAt( LPCTSTR key, void* newValue); |
|
void SetAt( LPCTSTR key, LPCTSTR newValue); |
|
void SetAt( WORD key, CObject* newValue); |
|
void SetAt( WORD key, void* newValue); |
Ejemplo
Vea CObList:: CObList para una lista de la clase de CAge utilizada en todos los ejemplos de la colección.
CMapStringToOb map;
CAge* pa;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11)); // Map contains 2
// elements.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("before Lisa's birthday: ") << &map << _T("\n");
#endif
if (map.Lookup(_T("Lisa"), (CObject *&)pa))
{ // CAge 12 pointer replaces CAge 11 pointer.
map.SetAt(_T("Lisa"), new CAge(12));
delete pa; // Must delete CAge 11 to avoid memory leak.
}
#ifdef _DEBUG
afxDump << _T("after Lisa's birthday: ") << &map << _T("\n");
#endif
Los resultados de este programa son los siguientes:
before Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $493C 11
[Bart] = a CAge at $4654 13
after Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $49C0 12
[Bart] = a CAge at $4654 13
Requisitos
encabezado: afxcoll.h