CObList::GetHead
このリストの先頭要素を表す CObject のポインターを取得します。
CObject*& GetHead( );
const CObject*& GetHead( ) const;
戻り値
リストが const CObListへのポインターを介してアクセスされます GetHead は CObject のポインターを返します。これは、関数が代入ステートメントの右側でのみ使用されるようにするため、変更のリストを保護します。
リストが CObListへのポインターを通じてまたは直接アクセスして、GetHead は CObject のポインターへの参照を返します。これは、関数が代入ステートメントのどちらにも使用されるようにするため、リスト エントリが変更されるようにします。
解説
リストが GetHeadを呼び出す前に、空でないことを確認する必要があります。リストが空の場合は、Microsoft Foundation Class ライブラリの assert のデバッグ バージョン。リストに要素が含まれていることを確認するには IsEmpty を使用します。
次の表は CObList::GetHeadに似ている他のメンバー関数を示します。
Class |
メンバー関数 |
---|---|
const void*& GetHead( ) const; void*& GetHead( ); |
|
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.
必要条件
Header: afxcoll.h