序列化和反序列化
来源:互联网 发布:vc win32 界面编程 编辑:程序博客网 时间:2024/03/28 23:45
所谓序列化就是向一个数据文件中一个接一个的写入图形对象。
从CObject派生的类可以序列化,但还需要以下几个条件:
1.定义该类时,在类的说明文件中使用DECLARE_SERIAL(CLASSNAME)宏;
2.定义一个不带参数的构造函数(默认构造函数)。
3.在类的实现文件中使用IMPLEMENT_SERIAL(CLASSNAME, BASECLASS)宏;
4.重载Serialize成员函数;
反序列化就是从文档中读出已经序列化的对象,并采用读出的数据实现对图形对象的构造。为了完成序列化,MFC保存了已经序列化的图形对象信息。当MFC序列化一个图形对象时,它采用这些信息来动态创建图形对象,并自动把它们装载到图形列表中。
序列化机制:
动态创建图形对象,需要动态创建的支持,而动态创建又需要运行时类信息的支持。运行时类信息的支持,动态创建的支持和序列化支持这3各功能的层次依次升高。
仅仅有类的支持是不够的,MFC还提供了一个归档类CArchive来支持简单类型的数据和复杂对象的读写。CArchive在文件和内存对象之间充当一个代理者的角色。它负责按一定的顺序和格式把内存对象写到文件中,或者对出来,可以被看成是一个二进制的流。
在创建CArchive对象时,必须有一个CFile对象,它代表了存储媒介。通常,程序员不必要做这个工作,打开或保存文当时MFC将自己创建CFile对象和CArchive对象,并在适当的时候调用序列化类的Serialize函数。
CArchive对象被创建时,需要指定它是用来读还是用来写,即指定序列化操作的方向,Serialize函数用CArchive的函数IsStoring来判定CArchive是用于读出数据还是写入数据。
- 序列和反序列化
- 序列和反序列化
- 序列化和反序列化
- 序列化和反序列化
- 序列化和反序列化
- c# 序列化和反序列化
- .NET序列化和反序列化
- .net序列化和反序列化
- 序列化和反序列化
- C#序列化和反序列化
- XML序列化和反序列化
- Serializable,序列化和反序列化
- C#序列化和反序列化
- Java序列化和反序列化
- C#序列化和反序列化
- 序列化和反序列化
- c#序列化和反序列化
- XML序列化和反序列化
- 用命令查看计算机端口
- JOGL终于测试成功了
- windows 管理小技巧
- 如何使用VB调用DTS进行数据的导入、导出
- 研究 Java 中 XML 文档模型的特性和性能
- 序列化和反序列化
- abstract 与private和final
- 盖茨畅想未来社会 10年内现有生活全变样
- Java连接PostgreSQL的简单示例
- 析构函数
- 最近越来越郁闷了!
- Microsoft Windows 2000 Plug and Play Universal Remote Exploit #2 (MS05-039)
- JSP中获取一些服务器变量
- 一个VC写的完整、简单的Sniffer代码