Поделиться через


CMapStringToOb::SetAt

Первичные середины вставки элемента в сопоставлении.

void SetAt( 
   LPCTSTR key, 
   CObject* newValue  
);

Параметры

  • key
    Определяет строку, ключ нового элемента.

  • newValue
    Задает указатель CObject, значение нового элемента.

Заметки

Во-первых, ключ посмотрен вверх. Если ключ найден, то соответствующее значение изменен; в противном случае новый элемент значения ключа создать.

В следующей таблице приведены другие функции-члены, которые похожи на CMapStringToOb::SetAt.

Класс

Функция-член

CMapPtrToPtr

void SetAt( void* key, void* newValue );

CMapPtrToWord

void SetAt( void* key, WORD newValue );

CMapStringToPtr

void SetAt( LPCTSTR key, void* newValue );

CMapStringToString

void SetAt( LPCTSTR key, LPCTSTR newValue );

CMapWordToOb

void SetAt( WORD key, CObject* newValue );

CMapWordToPtr

void SetAt( WORD key, void* newValue );

Пример

См. перечисление CObList::CObList для класса CAge, используемого во всех примерах коллекции.

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         

Результаты из этой программы следующим образом:

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

Требования

Header: afxcoll.h

См. также

Ссылки

Класс CMapStringToOb

Диаграмма иерархии

CMapStringToOb::Lookup

CMapStringToOb::operator []