CObList::SetAt

更新 : 2007 年 11 月

指定した位置に要素を設定します。

void SetAt(
   POSITION pos,
   CObject* newElement 
);

パラメータ

  • pos
    設定する要素の POSITION

  • newElement
    リストに書き込まれる CObject ポインタを指定します。

解説

POSITION 型の変数はリストのキーとして使用されます。インデックスとは異なり、POSITION 値は直接操作できません。SetAt で、CObject ポインタをリスト内の指定位置に書き込みます。

POSITION 値がリスト内の正しい位置を指していることを確認する必要があります。この値が無効な場合は、MFC ライブラリのデバッグ環境ではアサートされます。

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

クラス

メンバ関数

CPtrList

void SetAt( POSITIONpos, const CString&newElement );

CStringList

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

参照

参照

CObList クラス

階層図

CObList::Find

CObList::GetAt

CObList::GetNext

CObList::GetPrev

その他の技術情報

CObList のメンバ