[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用 ...
随机推荐
- 关于Android开发手机连接不上电脑问题解决方案
1.当然首先你得将手机里的usb debug选项选上,否则lsusb是不会有你的设备的2. lsusb 查看usb设备id3. sudo vim /etc/udev/rules.d/51-androi ...
- UVM的factory机制
在UVM中使用工厂模式基本上分为三个步骤: 1. 注册 当定义一个类的时候,它的类型必须要注册,UVM已经提供了专用的宏. `uvm_component_utils(class_type_name) ...
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...
- JS根据服务器时间倒计时
原文链接:http://caibaojian.com/daojishi-2.html //获取服务器时间 function getSevertime(){ var xmlHttp = new XMLH ...
- js 获取 通过 ”?“ 或者 ”&“ url 传过来参数值
请先 引用 jQuery的js <script> String.prototype.GetValue=function(para) { var reg = new RegExp(" ...
- Get the Uniqueid of Action Originate in the AMI
[asterisk-users] Get the Uniqueid of Action Originate in the AMI Adolphe Cher-Aime acheraime at gmai ...
- eclipse4.x 启动之后, "Initializing Java Tooling" 卡住问题解决
eclipse4.x 启动之后, "Initializing Java Tooling(1%)",其他操作均被阻塞,导致无法正常工作, 解决方案: 删除当前工作目录下的worksp ...
- oracle常用操作指令
1.cmd sqlplus /nolog; 2.conn sys/ as sysdba; 3.create user query identified by query;//创建用户 4.al ...
- openssl API网络通信
1.本文是在别人的基础上,经过测试,大体总结的.操作环境ubuntu12和ubuntu14 ****************************************************** ...
- Android Studio 引入 Fresco
首选在build.gradle文件中配置 查看NDK路径 然后在gradle.properties文件中配置 ndk.path=C\:\\Users\\lixishuang\\AppData\\Loc ...