CMapStringToOb::SetAt
Os meios principais inserir um elemento em um mapa.
void SetAt(
LPCTSTR key,
CObject* newValue
);
Parâmetros
key
Especifica a cadeia de caracteres que é a chave do novo elemento.newValue
Especifica o ponteiro de CObject que é o valor do novo elemento.
Comentários
Primeiro, a chave é pesquisada.Se a chave é encontrada, então o valor correspondente é alterado; se não um novo elemento chave-valor é criado.
A tabela a seguir mostra outras funções de membro que são semelhantes a CMapStringToOb::SetAt.
Classe |
Função de 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 ); |
Exemplo
Consulte CObList::CObList para uma listagem da classe de CAge usada em todos os exemplos de coleção.
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
Os resultados do programa é a seguinte:
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
Cabeçalho: afxcoll.h