MFC 的Collections Classes 中有许多适用于各种数据类型(如Byte、Word、DWord、Ptr)以及各种数据结构(如数组、串行)的现成类别。如果我们尽可能把这些现成的类别应用到程序的数据结构上面,就可以节省许多开发时间:
![](https://i-blog.csdnimg.cn/blog_migrate/6ae3180aae5093e46c3530dbd87ee0c7.jpeg)
MFC Collection Classes分为三种类型,用来管理一大群对象: ■ Array:数组,有次序性(需依序处理),可动态增减大小,索引值为整数。 ■ List:双向串行,有次序性(需依序处理),无索引。串行有头尾,可从头尾或从串行的任何位置安插元素,速度极快。 ■ Map:又称为Dictionary,其内对象成对存在,一为键值对象(key object),一为实值对象(value object)。
![](https://i-blog.csdnimg.cn/blog_migrate/cbe60f686437eaba2baad4824e576733.jpeg)
MFC Collection classes 所收集的对象中,有两种特别需要说明,一是Ob 一是Ptr: ■ Ob 表示衍生自CObject 的任何对象。MFC 提供CObList、CObArray 两种类别。 ■ Ptr 表示对象指针。MFC 提供CPtrList、CPtrArray 两种类别。 当我们考虑使用MFC collection classes 时,除了考虑上述三种类型的特性,还要考虑以 下几点: ■是否使用C++ template(对于type-safe 极有帮助)。 ■储存于collection class 之中的元素是否要做文件读写动作(Serialize)。 ■储存于collection class 之中的元素是否要有倾印(dump)和错误诊断能力。
|
本文来自:http://hi.baidu.com/%C0%D6%B5%C4%E3%B0%E2%EA/blog/item/1e862927111f845cac34de54.html