次の方法で共有


CObArray::SetAt

更新 : 2007 年 11 月

指定したインデックス位置に配列要素を格納します。

void SetAt(
   INT_PTR nIndex,
   CObject* newElement 
);

パラメータ

  • nIndex
    整数のインデックス。このインデックスは 0 以上で GetUpperBound 関数で返される値以下です。

  • newElement
    配列に挿入するオブジェクトのポインタを指定します。NULL 値も指定できます。

解説

SetAt は配列を拡張しません。配列を自動的に拡張する場合は、SetAtGrow 関数を使います。

インデックスは、配列の有効な位置を指すようにする必要があります。範囲外の値を指定すると、ライブラリのデバッグ バージョンではアサートされます。

CObArray::SetAt に類似している他のメンバ関数を以下に示します。

クラス

メンバ関数

CByteArray

void SetAt( INT_PTRnIndex, BYTE newElement );

CDWordArray

void SetAt( INT_PTRnIndex, DWORD newElement );

CPtrArray

void SetAt( INT_PTRnIndex, void* newElement );

CStringArray

void SetAt( INT_PTRnIndex, LPCTSTR newElement );

CUIntArray

void SetAt( INT_PTRnIndex, UINT newElement );

CWordArray

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

参照

参照

CObArray クラス

階層図

CObArray::GetAt

CObArray::SetAtGrow

CObArray::ElementAt

CObArray::operator [ ]

その他の技術情報

CObArray のメンバ