什么是CArchive对象
CArchive 对象用于写入或读取可序列化对象提供类型安全的缓冲区结构来回 CFile 对象。 通常 CFile 对象表示磁盘文件;但是,它也可以是内存文件 (CSharedFile 对象),可能表示剪贴板。
特定 CArchive 对象存储 (写入,序列化) 数据或加载 (读取,反序列化),数据,但从未两个。 CArchive 对象的生存期限于一通过向文件中写入对象或读取对象从文件。 因此,需要两个连续创建的 CArchive 对象序列化到数据文件从文件中反序列化它。
当存档存储到文件时的对象,存档附加 CRuntimeClass 名称为对象。 然后,那么,当另一个存档加载对象从文件加载到内存, CObject派生的对象动态重新生成基于+对象的 CRuntimeClass 。 ,它将写入文件中存储存档,给定对象上多次引用。 加载存档,但是,一次只将重新生成对象。 有关存档的方式的详细信息附加 CRuntimeClass 信息对对象并重新生成对象,考虑可能的多个在 技术说明 2引用,描述。
当数据序列化到存档,存档的累计数据,直到其缓冲区已满。 然后存档编写它对 CFile 对象的缓冲区指向由 CArchive 对象。 同样,,因为您读取存档的数据,它从文件读取数据到其缓冲区然后从缓冲区到您的反序列化对象。 此缓冲区减少硬盘便实际读取的次数,从而提高应用程序的性能。