MFC 集合类

转自:http://hi.baidu.com/mgy1984511/blog/item/a5a07711a572134ff919b806.html


MFC 集合类的特性总结了特定 MFC 集合类的其他重要特性,可以作为选择原则。您的选择可能取决于特定的因素,如类是否基于 C++ 模板,它的元素是否可以通过 MFC 的文档序列化机制序列化,它的元素是否可以通过 MFC 诊断转储机制转储,类是否是类型安全的,即是否可以保证存储在基于类的集合中和从该集合中检索的元素类型。

使用 C++

模板

可以

序列化

可以

转储

类型安全

CArray 是1 是1
CByteArray 是3
CDWordArray 是3
CList 是1 是1
CMap 是1 是1
CMapPtrToPtr
CMapPtrToWord
CMapStringToOb
CMapStringToPtr
CMapStringToString 是3
CMapWordToOb
CMapWordToPtr
CObArray
CObList
CPtrArray
CPtrList
CStringArray 是3
CStringList 是3
CTypedPtrArray 取决于类型2
CTypedPtrList 取决于类型2
CTypedPtrMap 取决于类型2
CUIntArray 是3
CWordArray 是3

1. 若要序列化,必须显式调用集合对象的 Serialize 函数;若要转储,必须显式调用集合对象的 Dump 函数。不能用

ar << collObj

的形式进行序列化,或用

dmp

<< collObj

的形式进行转储。

2. 可序列化性取决于基础集合类型。例如,如果类型指针数组基于 CObArray,则它可序列化;如果基于 CPtrArray,则它不可序列化。通常情况下,“Ptr”类无法序列化。

3. 如果该列中的标记为“是”,则只要按本来用途使用非模板集合类,它就是类型安全的。例如,如果将字节存储在 CByteArray 中,则该数组是类型安全的。但如果用该数组存储字符,则它的类型安全不太可靠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值