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);

示例

提供用于所有集合示例的列表 CAge 选件类参见 CObList::CObList

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 [ ]