CObList

王朝百科·作者佚名  2010-08-18  
宽屏版  字体: |||超大  

CObList

CObject

└CObList

CObList类支持非唯一的CObject指针,并可顺次访问或通过指针值访问有序列表。CObList列表的行为类似于双向链接列表。

POSITION类型的变量为列表的键。使用POSITION变量,既可以作为列表循环中的循环变量,也可以作为标记某个位置的标签。不过,位置并不等同于索引。

在列表头、列表尾以及在指定的位置上,进行插入元素都非常便捷。一个顺序的搜索对于通过值或索引查找元素非常必要。如果这种列表很长,那么搜索速度将非常慢。

CObList引入了IMPLEMENT_SERIAL宏,从而支持其元素的串行化与转储。如果一系列的CObject指针被存储于档案文件中,那么使用加载插入操作符或使用Serialize成员函数,每个CObject元素都将被串行化。如果需要转储列表中个别CObject元素的转储,那么必须将转储内容的深度设置为1或更大。

当删除了对象或其元素,那么被删除的仅仅是CObject指针,而不是它们参考的对象。

可以从CObList派生自己的类。新的列表类,用于包含从CObject派生对象的指针,它将增添新的数据成员及新的成员函数。注意,结果列表并不是严格的类型安全,其原因在于它允许插入任何的CObject指针。

注意:

如果你希望串行化列表,那么在你自己的类的执行过程中必须使用IMPLEMENT_SERIAL宏。

如果要了解有关使用CObList的更多信息,请参阅联机文档“Visual C++程序员指南”中的“收集”。

下面列出了同CObList类的成员函数较为相似的类:

·CPtrList

·CStringList

#include <afxcoll.h>

请参阅:CStringList, CPtrList

CObList类的成员

构造函数CObList为CObject指针构造一个空的列表

首或尾访问GetHead返回列表中的首元素(列表不能为空)GetTail返回列表中的尾元素(列表不能为空)

操作RemoveHead从列表首删除元素RemoveTail从列表尾删除元素AddHead在列表首增加一个元素或另一个列表的所有元素(并产生一个新的列表首)AddTail在列表尾增加一个元素或另一个列表的所有元素(并产生一个新的列表尾)RemoveAll删除列表中所有的元素

循环GetHeadPosition返回列表中首元素的位置GetTailPosition返回列表中尾元素的位置GetNext获取循环遍历中的下一个元素GetPrev获取循环遍历中的前一个元素

检索/修改GetAt获取指定位置的元素SetAt设置指定位置的元素RemoveAt从列表中删除指定位置的元素

插入InsertBefore在给定位置之前新插入一个元素InsertAfter在给定位置之后新插入一个元素

搜索Find获取由指针值指定元素的位置FindIndex获取由以零尾基数索引指定元素的位置

状态GetCount返回列表中的元素数IsEmpty测试是否为空列表(没有元素)

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有