CObList::GetNext
更新 : 2007 年 11 月
rPosition が示す位置のリスト要素を取得します。その後、リストの次のエントリを示す POSITION 値に rPosition を設定します。
CObject*& GetNext(
POSITION& rPosition
);
const CObject* GetNext(
POSITION& rPosition
) const;
パラメータ
- rPosition
直前の GetNext、GetHeadPosition、または他のメンバ関数の呼び出しで返された POSITION 値への参照。
戻り値
GetHead 関数の戻り値の説明を参照してください。
解説
GetHeadPosition または Find を呼び出して初期位置を確立後、GetNext を使って前方に反復計算できます。
POSITION 値がリスト内の正しい位置を指していることを確認する必要があります。この値が無効な場合は、MFC ライブラリのデバッグ環境ではアサートされます。
取得した要素がリストの最後の要素の場合、rPosition の新しい値に NULL が設定されます。
順次アクセス中に要素を削除することもできます。CObList::RemoveAt 関数の例を参照してください。
メモ : |
---|
MFC 8.0 では、このメソッドの const バージョンが、const CObject*& ではなく、const CObject* を返すように変更されています。この変更は、コンパイラを C++ 標準に準拠させることを目的としたものです。 |
CObList::GetNext に類似している他のメンバ関数を以下に示します。
クラス |
メンバ関数 |
---|---|
void*& GetNext( POSITION& rPosition ); const void* GetNext( POSITION& rPosition ) const; |
|
CString& GetNext( POSITION& rPosition ); const CString& GetNext( POSITION& rPosition ) const; |
使用例
CAge クラスのリストについては、「CObList::CObList」を参照してください。
CObList list;
POSITION pos;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40)); // List now contains (40, 21).
// Iterate through the list in head-to-tail order.
#ifdef _DEBUG
for (pos = list.GetHeadPosition(); pos != NULL;)
{
afxDump << list.GetNext(pos) << _T("\n");
}
#endif
このプログラムの実行結果は次のようになります。
a CAge at $479C 40
a CAge at $46C0 21
必要条件
ヘッダー : afxcoll.h