[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() 检测列表是否为空。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?