次の方法で共有


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 が設定されます。

597w29w2.alert_note(ja-jp,VS.90).gifメモ :

MFC 8.0 では、このメソッドの const バージョンが、const CObject*& ではなく、const CObject* を返すように変更されています。この変更は、コンパイラを C++ 標準に準拠させることを目的としたものです。

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

クラス

メンバ関数

CPtrList

void*& GetPrev( POSITION& rPosition );

const void* GetPrev( POSITION& rPosition ) const;

CStringList

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

参照

参照

CObList クラス

階層図

CObList::Find

CObList::GetTailPosition

CObList::GetHeadPosition

CObList::GetNext

CObList::GetHead

その他の技術情報

CObList のメンバ