CMapStringToOb::SetAt
主要方式將項目插入至對應。
void SetAt(
LPCTSTR key,
CObject* newValue
);
參數
key
指定為新項目的索引鍵的字串。newValue
指定為新項目值的 CObject 指標。
備註
首先,索引鍵查閱。 如果找到索引鍵,則會變更對應的值,則為新的金鑰值項目建立。
下表顯示類似 CMapStringToOb::SetAt的其他成員函式。
類別 |
成員函式 |
---|---|
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); |
範例
針對所有集合範例的 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