CObArray::operator [ ]
更新 : 2007 年 11 月
これらの添字演算子は、SetAt 関数や GetAt 関数の代わりに使用できます。
CObject*& operator [](
INT_PTR nIndex
);
CObject* operator [](
INT_PTR nIndex
) const;
解説
const ではない配列用に呼び出されている最初の演算子は、代入ステートメントの右辺 (r-value) または左辺 (l-value) で使用できます。const 配列用に呼び出されている 2 番目の演算子は、右辺でのみ使用されます。
デバッグ バージョンのライブラリでは、代入ステートメントの右辺であるか左辺であるかにかかわらず、範囲外の添字が指定された場合はアサートされます。
CObArray::operator [] に類似しているほかの演算子を以下に示します。
クラス |
演算子 |
---|---|
BYTE& operator []( INT_PTRnIndex ); BYTE operator []( INT_PTRnIndex ) const; |
|
DWORD& operator []( INT_PTRnIndex ); DWORD operator []( INT_PTRnIndex ) const; |
|
void*& operator []( INT_PTRnIndex ); void* operator []( INT_PTRnIndex ) const; |
|
CString& operator []( INT_PTRnIndex ); CString operator []( INT_PTRnIndex ) const; |
|
UINT& operator []( INT_PTRnIndex ); UINT operator []( INT_PTRnIndex ) const; |
|
WORD& operator []( INT_PTRnIndex ); WORD operator []( INT_PTRnIndex ) const; |
使用例
すべてのコレクションの例で使われている CAge クラスのリストについては、CObList::CObList を参照してください。
CObArray arr;
CAge* pa;
arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1
pa = (CAge*)arr[0]; // Get element 0
ASSERT(*pa == CAge(21)); // Get element 0
arr[0] = new CAge(30); // Replace element 0
delete pa;
ASSERT(*(CAge*) arr[0] == CAge(30)); // Get new element 0
必要条件
ヘッダー : afxcoll.h