CObList

CObList

CObList類支持非唯一的CObject指針,並可順次訪問或通過指針值訪問有序列表。CObList列表的行為類似於雙向連結列表。CObList是非常有用的集合類族的代表,具有診斷轉儲的特性並且能夠包含混合的指針。

基本介紹

  • 外文名:CObList
  • 支持:非唯一的CObject指針
  • 屬於:非常有用的集合類族的代表
  • 特性:診斷轉儲
CObList
└CObList
POSITION類型的變數為列表的鍵。使用POSITION變數,既可以作為列表循環中的循環變數,也可以作為標記某個位置的標籤。不過,位置並不等同於索引。
在列表頭、列表尾以及在指定的位置上,進行插入元素都非常便捷。一個順序的搜尋對於通過值或索引查找元素非常必要。如果這種列表很長,那么搜尋速度將非常慢。
CObList引入了IMPLEMENT_SERIAL宏,從而支持其元素的串列化與轉儲。如果一系列的CObject指針存儲於檔案檔案中,那么使用載入插入操作符或使用Serialize成員函式,每個CObject元素都將被串列化。如果需要轉儲列表中個別CObject元素的轉儲,那么必須將轉儲內容的深度設定為1或更大。
當刪除了對象或其元素,那么被刪除的僅僅是CObject指針,而不是它們參考的對象。
可以從CObList派生自己的類。新的列表類,用於包含從CObject派生對象的指針,它將增添新的數據成員及新的成員函式。注意,結果列表並不是嚴格的類型安全,其原因在於它允許插入任何的CObject指針。
注意:
如果你希望串列化列表,那么在你自己的類的執行過程中必須使用IMPLEMENT_SERIAL宏。
如果要了解有關使用CObList的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“收集”。
下面列出了同CObList類的成員函式較為相似的類:
#include <afxcoll.h>
請參閱:CStringList, CPtrList
CObList類的成員
為CObject指針構造一個空的列表
首或尾訪問
GetHead
返回列表中的首元素(列表不能為空)
GetTail
返回列表中的尾元素(列表不能為空)
操作
RemoveHead
從列表首刪除元素
RemoveTail
從列表尾刪除元素
在列表首增加一個元素或另一個列表的所有元素(並產生一個新的列表首)
AddTail
在列表尾增加一個元素或另一個列表的所有元素(並產生一個新的列表尾)
刪除列表中所有的元素
循環
GetHeadPosition
返回列表中首元素的位置
GetTailPosition
返回列表中尾元素的位置
GetNext
獲取循環遍歷中的下一個元素
GetPrev
獲取循環遍歷中的前一個元素
檢索/修改
獲取指定位置的元素
SetAt
設定指定位置的元素
RemoveAt
從列表中刪除指定位置的元素
插入
InsertBefore
在給定位置之前新插入一個元素
InsertAfter
在給定位置之後新插入一個元素
搜尋
獲取由指針值指定元素的位置
FindIndex
獲取由以零尾基數索引指定元素的位置
狀態
返回列表中的元素數
測試是否為空列表(沒有元素)

相關詞條

熱門詞條

聯絡我們