次の方法で共有


CObList::SetAt

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

void SetAt(
   POSITION pos,
   CObject* newElement 
);

パラメーター

  • pos
    設定する要素の POSITION

  • newElement
    リストに書き込む CObject のポインター。

解説

POSITION 型の変数は、リストのキーです。これは、インデックスと同じではなく、独自 POSITION の値を操作できません。SetAt は、リスト内の指定した位置に CObject のポインターを書き込みます。

POSITION の値は、リストの有効な位置を表すようにする必要があります。これは、Microsoft Foundation Class ライブラリの assert のデバッグ バージョン。

次の表は CObList::SetAtに似ている他のメンバー関数を示します。

Class

メンバー関数

CPtrList

void SetAt( POSITION pos, const CString& newElement) ;

CStringList

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

必要条件

Header: afxcoll.h

参照

関連項目

CObList クラス

階層図

CObList::Find

CObList::GetAt

CObList::GetNext

CObList::GetPrev