4.4.4 集合类 在前面我们使用了单个的成员变量来保存文档中的数据,如果文档中有大量的数据需要存取,就需要定义大量的成员变量来完成。通常,无法预先知道将会使用到多少数据,能用什么方法来动态管理数据。 MFC中为我们提供了集合类——数组、列表和映射使这一问题得到了很好的解决,它们可以动态地处理不同类型的对象。 数组和我们在前面所学的数组基本一致,由一个有序元素序列组成,以连续的整数为索引。不同的是MFC中的数据可以自动增长以添加更多的元素。 列表也是一个有序的元素序列,就像是一个用类对其各种操作进行封装的双向链表。列表可以实现动态增加、删除、查找等操作,当有大量元素需要插入或删除时,它的效率比数组更高。 映射又称为字典,它是一个以各个节点唯一键值为索引的元素集合,其中的各个元素都有一个关键的数据,该数据称之为键,在集合中,键不能为空,也不能有重复。由于键的唯一性,映射的查找操作是非常快的,添加和删除也很快。 除固定类型的集合类外,MFC还提供了基于模板的集合类,使用基于模板的集合类,集合类中的内容可以是任意类型的对象或指向任意类型对象的指针。可以通过这些模板来定制所需的集合类。
【责任编辑: 杨硕 TEL:(010)68476636-8001】
|