CMapStringToOb::operator [ ]
更新 : 2007 年 11 月
SetAt メンバ関数の代わりに使います。
CObject*& operator [ ](
LPCTSTR key
);
戻り値
CObject オブジェクトへのポインタの参照を返します。マップが空の場合、または key が範囲外の場合は、NULL を返します。
解説
この演算子は、代入ステートメントの左辺値 (l-value) に対してだけ使用します。指定したキーの要素がマップ内にない場合、新しい要素を作成します。
マップ内にキーが見つからないこともあるので、この演算子を右辺値 (r-value) に置くことはできません。要素を取得するには、Lookup メンバ関数を使います。
CMapStringToOb::operator [] に類似しているほかのメンバ関数を以下に示します。
クラス |
メンバ関数 |
---|---|
void*& operator[]( void*key ); |
|
WORD& operator[]( void*key ); |
|
void*& operator[]( LPCTSTRkey ); |
|
CString& operator[]( LPCTSTRkey ); |
|
CObject*& operator[]( WORDkey ); |
|
void*& operator[]( WORDkey ); |
使用例
すべてのコレクションの例で使われている CAge クラスのリストについては、CObList::CObList を参照してください。
CMapStringToOb map;
map[_T("Bart")] = new CAge(13);
map[_T("Lisa")] = new CAge(11);
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("Operator [] example: ") << &map << _T("\n");
#endif
このプログラムの実行結果は次のようになります。
Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13
必要条件
ヘッダー : afxcoll.h