指定した位置に要素を設定します。
void SetAt(
POSITION pos,
CObject* newElement
);
パラメーター
pos
設定する要素の POSITION。newElement
リストに書き込まれる CObject ポインターを指定します。
解説
POSITION 型の変数はリストのキーとして使用されます。 インデックスとは異なり、POSITION 値は直接操作できません。 SetAt で、CObject ポインターをリスト内の指定位置に書き込みます。
POSITION 値がリスト内の正しい位置を指していることを確認する必要があります。 この値が無効な場合は、MFC ライブラリのデバッグ環境ではアサートされます。
CObList::SetAt に類似している他のメンバー関数を以下に示します。
Class |
メンバー関数 |
---|---|
void SetAt( POSITION pos, const CString& newElement ); |
|
void SetAt( POSITION pos, LPCTSTR newElement ); |
使用例
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