CObArray::operator
これらの添字演算子は、SetAt 関数や GetAt 関数の代わりに使用できます。
CObject*& operator [](
INT_PTR nIndex
);
CObject* operator [](
INT_PTR nIndex
) const;
解説
const ではない配列用に呼び出されている最初の演算子は、代入ステートメントの右辺 (r-value) または左辺 (l-value) で使用できます。 const 配列用に呼び出されている 2 番目の演算子は、右辺でのみ使用されます。
デバッグ バージョンのライブラリでは、代入ステートメントの右辺であるか左辺であるかにかかわらず、範囲外の添字が指定された場合はアサートされます。
CObArray::operator [] に類似しているほかの演算子を以下に示します。
Class |
演算子 |
---|---|
BYTE& operator []( INT_PTR nIndex ); BYTE operator []( INT_PTR nIndex ) const; |
|
DWORD& operator []( INT_PTR nIndex ); DWORD operator []( INT_PTR nIndex ) const; |
|
void*& operator []( INT_PTR nIndex ); void* operator []( INT_PTR nIndex ) const; |
|
CString& operator []( INT_PTR nIndex ); CString operator []( INT_PTR nIndex ) const; |
|
UINT& operator []( INT_PTR nIndex ); UINT operator []( INT_PTR nIndex ) const; |
|
WORD& operator []( INT_PTR nIndex ); WORD operator []( INT_PTR nIndex ) 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