CList只是MFC一个列表类,有时也不是很好用,std::list相对效率高,但操作有点麻烦。后面会提到CList的缺点
成员函数:
GetHead( ) //获得列表的第一个元素的值。
GetTail( ) //获得列表的最后一个元素的值。
RemoveHead( ) //删除列表中第一个元素
RemoveTail( ) //删除列表中最后一个元素。
AddHead() //在列表的头部添加一个节点,使这个节点成为列表的新的头。
AddTail() //在列表的尾部添加一个节点,使这个节点成为列表的新的尾。
RemoveAll() //删除节点中所有的元素。
GetHeadPosition( )//获得列表的头节点的位置。
GetTailPosition( )//获得列表中尾节点的位置。
GetNext() //获得指定位置下一个节点处的值。
GetPrev() //获得指定位置上一个节点处的值。
GetAt() //获得指定位置处节点的值。
SetAt() //设置指定位置处节点的值。
RemoveAt() //删除指定位置处的节点。
InsertBefore()//在指定位置的前面插入一个节点。
InsertAfter() //在指定位置的后面插入一个节点。
Find() //按照列表顺序搜索给定的对象指针,返回一个POSITION类型的量。
FindIndex() //按照列表顺序搜索指定的下标。
GetCount() //获得列表中包含的节点个数。
IsEmpty() //检查一个列表是否不含有任何节点
缺点:
他只适用于MFC,且有时会和其它头文件冲突
如CTest 在该类的头文件中包含了<afxtempl.h>头文件,因为在CTest类头文件中需要typedef CList<CTest, CTest&> TEST_LIST; 可是一编译就出:
WINDOWS.H already included. MFC apps must not #include <windows.h>,用CList一定要包含afxtempl.h这个头文件阿,请教:俺该如何做??
文章评论
共有 0位网友发表了评论 我来说两句