CObList::SetAt
更新 : 2007 年 11 月
指定した位置に要素を設定します。
void SetAt(
POSITION pos,
CObject* newElement
);
パラメータ
pos
設定する要素の POSITION。newElement
リストに書き込まれる CObject ポインタを指定します。
解説
POSITION 型の変数はリストのキーとして使用されます。インデックスとは異なり、POSITION 値は直接操作できません。SetAt で、CObject ポインタをリスト内の指定位置に書き込みます。
POSITION 値がリスト内の正しい位置を指していることを確認する必要があります。この値が無効な場合は、MFC ライブラリのデバッグ環境ではアサートされます。
CObList::SetAt に類似している他のメンバ関数を以下に示します。
クラス |
メンバ関数 |
---|---|
void SetAt( POSITIONpos, const CString&newElement ); |
|
void SetAt( POSITIONpos, LPCTSTRnewElement ); |
使用例
CAge クラスのリストについては、「CObList::CObList」を参照してください。
CObList list;
CObject* pa;
POSITION pos;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40)); // List now contains (40, 21).
if ((pos = list.GetTailPosition()) != NULL)
{
pa = list.GetAt(pos); // Save the old pointer for
//deletion.
list.SetAt(pos, new CAge(65)); // Replace the tail
//element.
delete pa; // Deletion avoids memory leak.
}
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("SetAt example: ") << &list << _T("\n");
#endif
このプログラムの実行結果は次のようになります。
SetAt example: A CObList with 2 elements
a CAge at $4D98 40
a CAge at $4DB8 65
必要条件
ヘッダー : afxcoll.h