CMapStringToOb::SetAt
Implementa primari per inserire un elemento in un mapping.
void SetAt(
LPCTSTR key,
CObject* newValue
);
Parametri
key
Specifica la stringa che rappresenta la chiave del nuovo elemento.newValue
Specifica il puntatore CObject il valore del nuovo elemento.
Note
Innanzitutto, la chiave viene trovata. Se la chiave non esiste, il valore corrispondente viene modificata, in caso contrario un nuovo elemento di valore chiave viene creato.
Nella tabella seguente vengono illustrate altre funzioni membro che sono simili a CMapStringToOb::SetAt.
Classe |
Funzione membro |
---|---|
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); |
Esempio
Vedere CObList::CObList per un elenco CAge utilizzata in tutti gli esempi di raccolta.
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
I risultati di questo programma sono:
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
Requisiti
Header: afxcoll.h