-
CObList
鎖定
- 外文名
- CObList
- 特 性
- 診斷轉儲
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 | 獲取由以零尾基數索引指定元素的位置 |
狀態
返回列表中的元素數 | |
測試是否為空列表(沒有元素) |