[MFC] CList


1、CList說明

 

類CList支持可按順序或按值訪問的非唯一對象的有序列表。CList 列表與雙鏈接列表行為相似。

template < class TYPE, class ARG_TYPE > class CList : public CObject

參數:TYPE存儲在列表中的對象類型。ARG_TYPE用於參考存儲在列表中的對象的類型。可以是一個參考。

例如:CList<Pipe, Pipe&> pipe;//生成一個Pipe類型的CList

說明: 1\類型POSITION的變量是列表的關鍵字。可使用POSITION變量作為循環因子來順序遍歷列表,作為書簽來保存位置。然而,位置不同於索引。

2\元素插入在列表的標題、在末尾和已知的POSITION時非常快。按值或索引來查找一個元素,需要順序查找。如果列表太長,此查找可能較慢。如果需要轉儲列表中的個別元素,必須設置轉儲上下文的深度為1或更大。

相似模版類:CMap, CArray

 

2、CList類的成員函數

 

構造函數

CList 構造一個空的有序列表。

 

標題/末尾訪問

GetHead() 返回列表的標題元素(不能為空)。

GetTail() 返回列表的末尾元素(不能為空)。

 

操作

RemoveHead() 從列表標題中移走元素。

RemoveTail() 從列表末尾移走元素。

AddHead() 添加一個元素或另一個列表的所有元素到列表標題(生成新的標題)。

AddTail() 添加一個元素或另一個列表的所有元素到列表尾部(生成新的尾部)。

RemoveAll() 從列表中移走所有元素。

 

循環

GetHeadPosition() 返回列表標題元素的位置。

GetTailPosition() 返回列表尾部元素的位置。

GetNext() 獲取用於遍歷下一個元素。

GetPreev() 獲取用於遍歷的前一個元素。

 

獲取/修改

GetAt() 在指定的位置上獲得元素。

SetAt() 在指定的位置上設置元素。

RemoveAt() 從列表中刪除一個由位置確定的元素。

 

插入

InsertBefore() 在指定的位置前插入一個新的元素。

InsertAfter() 在指定的位置后插入一個新的元素。

 

查找

Find() 獲得由指針值確定的元素位置。

FindIndex() 獲得由基於零的索引指定的元素位置。

 

狀態

GetCount() 返回此列表中的元素數。

IsEmpty() 檢測列表是否為空。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM