[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() 检测列表是否为空。
[MFC] CList的更多相关文章
- MFC clist 学习设计
最近想设计一款WEBSHELL的综合破解工具. 然后设计到了日志输出那儿,因为MFC不熟悉,刚学.所以一直在想用edit控件好还是clist比较好. 今天设计了一下日志输出界面,然后记录一下学习笔记. ...
- [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~
3D相关开发 [direct-X] 1.direct-X最小框架 [OpenGL] 1.环境搭建及最小系统 [OpenGL] 2.企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [ ...
- MFC小型工具通用界面框架CLIST控件+右键菜单功能
MFC-小型工具通用界面框架 0x1 场景 由于工作需要我会写代码开发工具给客户或者同事用.代码都能实现,但写个黑乎乎的命令行工具给别人用确实显得不够专业,用别人写好的成型工具又担心有后门. 所以掌握 ...
- MFC-01-Chapter01:Hello,MFC---1.2 MFC简介
1.2 MFC简介 MFC是Microsoft提供的放置Windows API的面向对象的包装的C++类库.MFC大约封装了好几百个类,其中有一些可以直接调用,有些类可以作为用户自己的类的基类.一些M ...
- [MFC] 高仿Flappy bird 桌面版
这是今年年初做的东西,一直没有时间整理,现在拿出来分享下~ 目录 开发背景 开发语言及运行环境 效果展示 游戏框架说明 游戏状态及逻辑说明 经典算法说明 重量级问题解决 开发感想 一.开发背景: fl ...
- [MFC] MFC 仿 Flappy bird PC桌面版
http://www.cr173.com/ 前些日子发现朋友都在玩flappy bird这款虐心的小游戏,网上也炒得很火,于是俺也想下一个玩玩.可是矮穷挫至今还没配上高端的智能机,于是去网上搜了一下, ...
- MFC编程基础
http://www.cnblogs.com/lzmfywz/archive/2012/03/15/2399403.html 一.MFC类库概述 MFC(Microsoft Foundation cl ...
- MFC容器类介绍
我们知道如果是单个的少数几个值弄些int , long,float ,double等类型的变量来装这些值就行了.但如果值太多这样就比较麻烦.当然数据超级多时就直接放数据库里存着去了. 但如果数值不多不 ...
- MFC编程入门
一. 什么是MFC? 如果你要建立一个Windows应用程序,应该如何下手? 好的开端是从设计用户界面开始. 首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象.Windows用 ...
随机推荐
- 使用nssm在windows服务器上部署nodejs
Linux上,可以轻松的使用forever或者pm2来部署nodejs应用.但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问 ...
- js读取解析JSON数据
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- Oracle SQL优化一(常见方法)
1.表访问方式优化: a)普通表优先“Index Lookup 索引扫描”,避免全表扫描 大多数场景下,通过“Index Lookup 索引扫描”要比“Full Table Scan (FTS) 全表 ...
- [转]Linux vi 编辑后如何保存
比如:vi /etc/vsftpd/vsftpd.conf 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推 ...
- [转] mhvtl虚拟磁带库的安装与应用
转自:candon123 -- http://candon123.blog.51cto.com/704299/388192/ 1.获取mhvtl: 官方网站:http://mhvtl.nimsa.u ...
- 【转】ASP.NET ViewState详解
(wyt今天学习了这篇文章,作为门外汉的我了解了很多页面控件数据加载的知识和viewstate的用法和原理.我想在日后的开发效率提升上会有很大的作用.) 转自http://www.cnblogs.co ...
- OA项目之导出
要导出页的前台: <asp:Button runat="server" ID="btnExport" Text="导出" CssCla ...
- php变量判断为空的几种方法
1.isset 主要用来判断变量是否被初始化过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 2.empty 可以将值为 " ...
- GATK使用说明-GRCh38(Genome Reference Consortium)(二)
Reference Genome Components 1. GRCh38 is special because it has alternate contigs that represent pop ...
- MySQL报错“1366 - Incorrect integer value: '' XXXXXXX' at row 1 ”
出现这个错误是因为我在表中插入了一条含有中文字符的语句: 修改方法:(两种) 1:命令行 set names gbk:(此为设置通信编码) 2:my.ini中查找sql-mode 将 sql-mod ...