CObList::GetNext
リストの要素を rPositionによって識別される取得してから、リストに次のエントリが POSITION の値に rPosition を設定します。
CObject*& GetNext(
POSITION& rPosition
);
const CObject* GetNext(
POSITION& rPosition
) const;
パラメーター
- rPosition
POSITION の値への参照は、前の GetNext、GetHeadPosition、またはそのほかのメンバー関数の呼び出しによって返される。
戻り値
GetHeadについては、戻り値の説明を参照してください。
解説
GetHeadPosition か Findを呼び出して、最初の位置を確立すると順方向の反復ループで GetNext を使用できます。
POSITION の値は、リストの有効な位置を表すようにする必要があります。これは、Microsoft Foundation Class ライブラリの assert のデバッグ バージョン。
取得する要素がリストの最後の場合、rPosition の新しい値は NULLに設定されます。
イテレーション中に要素を削除できます。RemoveAtの例を参照してください。
[!メモ]
MFC const CObject*&の代わりに const CObject* を返すために 8.0 でこのメソッドの const バージョンが変更されました。この変更は C++ 標準の一致にコンパイラが表示されるように行われた。
次の表は CObList::GetNextに似ている他のメンバー関数を示します。
Class |
メンバー関数 |
---|---|
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
必要条件
Header: afxcoll.h