CList的用法理解

CList的用法理解本文详细介绍了 C MFC 库中的 CList 类 包括如何包含头文件 声明与构造方法 元素的添加 查找和删除 以及链表的遍历

大家好,欢迎来到IT知识分享网。

CList是一个双向链表类。CList的优势是快速灵活的插入和删除。但是在访问元素的时候,会多一个N的时间复杂度。在元素很多的时候,建议把数据分段存储。

1、包含头文件Afxtempl.h

     在你要使用CList链表类的地方,使用#include  <Afxtempl.h>,或者直接在stdafx.h中包含这句。

2、理解CList的声明和构造方法

CList的声明如下:

template< class TYPE, class ARG_TYPE >

class CList : public CObject

CList的声明有2种方式,决定的是参数的使用是引用,还是复制。

例如:

CList<CString ,CString&> list1;        //注意引用符号的位置是在类型后面。<类型&>

CList<CString,CString> list2;          

第一个参数,表示的是链表的元素的数据类型,这里类似一个声明,声明你使用的链表中的数据类型是什么。

第二个参数,分2种形式,一种是引用形式,一种是复制形式,那么这个引用和复制,体现的作用在哪里呢?其实,这个引用和复制,只是体现在元素的添加,查找上面。比如我们往刚才声明的这个链表list1中添加元素。

CList<CString ,CString&> list1; //

CString str = “abc”;

list1.AddTail(str);              //str是以引用的方式,添加到list1中的,类似声明一个函数 void fun(CString &a);

再看另外一个中声明方式:

CList<CString,CString> list2;//

CString str = “abc”;

list2.AddTail(s

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126380.html

(0)
上一篇 2025-09-19 14:45
下一篇 2025-09-19 15:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信