次の方法で共有


CObList::GetHead

更新 : 2007 年 11 月

リストの先頭要素の CObject ポインタを取得します。

CObject*& GetHead( );
const CObject*& GetHead( ) const;

戻り値

リストが const CObList へのポインタを使ってアクセスされた場合は、GetHead 関数は CObject ポインタを返します。このとき、この関数は代入ステートメントの右辺にしか使用できないため、リストは変更されません。

リストが直接または CObList へのポインタを使ってアクセスされた場合は、GetHead 関数は CObject ポインタへの参照を返します。このとき、この関数は代入ステートメントの右辺にも左辺にも使用できるので、リストのエントリを変更できます。

解説

GetHead 関数を呼び出す前に、リストが空でないことを確認する必要があります。リストが空の場合、MFC ライブラリのデバッグ環境ではアサートされます。リストに要素があるかどうかは、IsEmpty 関数で確認できます。

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

クラス

メンバ関数

CPtrList

const void*& GetHead( ) const; void*& GetHead( );

CStringList

const CString& GetHead( ) const; CString& GetHead( );

使用例

CAge クラスのリストについては、「CObList::CObList」を参照してください。

次の例は GetHead 関数を代入ステートメントの左辺に使用しています。

const CObList* cplist;

CObList* plist = new CObList;
CAge* page1 = new CAge(21);
CAge* page2 = new CAge(30);
CAge* page3 = new CAge(40);
plist->AddHead(page1);
plist->AddHead(page2);  // List now contains (30, 21).
// The following statement REPLACES the head element.
plist->GetHead() = page3; // List now contains (40, 21).
ASSERT(*(CAge*) plist->GetHead() == CAge(40));
cplist = plist;  // cplist is a pointer to a const list.
// cplist->GetHead() = page3; // Error: can't assign a pointer to a const list
ASSERT(*(CAge*) plist->GetHead() == CAge(40)); // OK

delete page1;
delete page2;
delete page3;
delete plist; // Cleans up memory.      

必要条件

ヘッダー : afxcoll.h

参照

参照

CObList クラス

階層図

CObList::GetTail

CObList::GetTailPosition

CObList::AddHead

CObList::RemoveHead

その他の技術情報

CObList のメンバ