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() 检测列表是否为空。

05-06 03:20