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