CObArray::SetAt
更新 : 2007 年 11 月
指定したインデックス位置に配列要素を格納します。
void SetAt(
INT_PTR nIndex,
CObject* newElement
);
パラメータ
nIndex
整数のインデックス。このインデックスは 0 以上で GetUpperBound 関数で返される値以下です。newElement
配列に挿入するオブジェクトのポインタを指定します。NULL 値も指定できます。
解説
SetAt は配列を拡張しません。配列を自動的に拡張する場合は、SetAtGrow 関数を使います。
インデックスは、配列の有効な位置を指すようにする必要があります。範囲外の値を指定すると、ライブラリのデバッグ バージョンではアサートされます。
CObArray::SetAt に類似している他のメンバ関数を以下に示します。
クラス |
メンバ関数 |
---|---|
void SetAt( INT_PTRnIndex, BYTE newElement ); |
|
void SetAt( INT_PTRnIndex, DWORD newElement ); |
|
void SetAt( INT_PTRnIndex, void* newElement ); |
|
void SetAt( INT_PTRnIndex, LPCTSTR newElement ); |
|
void SetAt( INT_PTRnIndex, UINT newElement ); |
|
void SetAt( INT_PTRnIndex, WORD newElement ); |
使用例
すべてのコレクションの例で使われている CAge クラスのリストについては、CObList::CObList を参照してください。
CObArray arr;
CObject* pa;
arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1
if ((pa = arr.GetAt(0)) != NULL)
{
arr.SetAt(0, new CAge(30)); // Replace element 0.
delete pa; // Delete the original element at 0.
}
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("SetAt example: ") << &arr << _T("\n");
#endif
このプログラムの実行結果は次のようになります。
SetAt example: A CObArray with 2 elements
[0] = a CAge at $47E0 30
[1] = a CAge at $47A0 40
必要条件
ヘッダー : afxcoll.h