2025年CList的用法理解

CList的用法理解CList 是一个双向链表类 CList 的优势是快速灵活的插入和删除 但是在访问元素的时候 会多一个 N 的时间复杂度 在元素很多的时候 建议把数据分段存储 1 包含头文件 Afxtempl h 在你要使用 CList 链表类的地方 使用 include afxtempl h 或者直接在 stdafx h 中包含这句 2 理解 CList 的声明和构造方法 afxtempl h

大家好,我是讯享网,很高兴认识大家。

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

小讯
上一篇 2025-02-05 23:25
下一篇 2025-02-07 17:58

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/67499.html