serialize中文解释:从档案文件中读取该对象或向档案文件中写入该对象。
1、使用
串行化的每个类覆盖Serialize。被覆盖的Serialize首先必须调用基类的Serialize函数。
在类的声明中必须使用DECLARE_SERIAL宏,并且在类的执行过程中也必须使用IMPLEMENT_SERIAL宏。
DECLARE_DYNCREATE是动态创建的意思.这个有点类似Com的类工厂.
使用CArchive::IsLoading或CArchive::IsStoring函数,用于决定是否装载或存储了档案文件。
通过CArchive::ReadObject和CArchive::WriteObject来调用Serialize函数。这些函数与CArchive插入操作符()相关联。
CArchive 对象提供了一个类型安全缓冲机制,用于将可序列化对象写入 CFile 对象或从中读取可序列化对象。通常,CFile 对象表示磁盘文件;但是,它也可以是表示“剪贴板”的内存文件(CSharedFile 对象)。
2、条件
1. 该类需要从CObject类派生(可以是间接派生);
2. 在类中中进行DECLARE_SERIAL宏定义;
3. 类存在有缺省的构造函数;
4. 类中实现了Serialize()函数,并且在其中调用基类的序列化函数;
5. 使用IMPLEMENT_SERIAL宏指明类名及版本号;
3、作用
序列化简化了对象的保存和载入,为对象提供了持久性。但是,序列化本身仍具有一定的局限性。由于序列化一次从文件中载入所有对象,因此,它不适合于大文件编辑器和数据库。对于数据库和大文件编辑器,它们每次只是从文件中读入一部分。此时,就不应该采用文档的序列化机制来直接读取和保存文件了。另外,使用外部文件格式。
分享到:
相关推荐
form-serialize-and-calculate.html
本项目"前端项目-jquery-serialize-object"关注的是使用jQuery来序列化表单字段,将它们转换为JavaScript对象或JSON格式,这在提交表单数据到服务器时尤其有用。下面我们将深入探讨这一主题。 1. **jQuery 序列化...
Serialize-javascript 能够序列化 JavaScript 库成含有正则表达式和功能的 JSON 包。示例:var serialize = require('serialize-javascript'); serialize({ str : 'string', num : 0, obj : {foo: ...
《PyPI官网下载:serialize-images-0.1.1.tar.gz——深入了解Python图像序列化库》 在Python的生态系统中,PyPI(Python Package Index)是最重要的资源仓库,它为开发者提供了海量的开源库和模块,方便他们快速...
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:flask_serialize-1.0.9-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
在处理表单数据时,我们常常需要将表单数据序列化以便于发送到服务器,这就是`ajax-axios-url-form-serialize`插件的作用。 `ajax-axios-url-form-serialize`插件专为Axios设计,用于将HTML表单数据转换成URL编码...
资源来自pypi官网。 资源全名:flask_serialize-1.5.2-py2.py3-none-any.whl
`flask_serialize-1.5.2-py2.py3-none-any.whl`是一个Python的wheel文件,它是Python包的二进制分发格式,包含了编译好的Python模块和相关的元数据。这种文件的优点在于可以直接安装,无需编译,节省了开发者的时间...
资源分类:Python库 所属语言:Python 资源全名:django_serialize-1.3.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
serialize-stt-words 一个模块,用于以dpe格式将来自STT的单词序列化和反序列化为每个属性的数组。 这是解决Firebase 1mb限制的方法。 例如带有euristics,如果mock8hours.json是8小时9.6MB 这是分别保存的每个...
c c语言_leetcode题解之0297_serialize_and_deserialize_binary_tree
$ npm install serialize-stl-ascii 例子 var serializeSTL = require ( 'serialize-stl-ascii' ) ; var mesh = { positions : [ [ - 1.0 , 0.0 , 0.0 ] , [ 0.0 , 1.0 , 0.0 ] , [ 1.0 , 0.0 , 0.0 ] ] , ...
为了扩大其用途,它现在用作serialize-javascript -npm上的独立软件包。 您可能想知道: JSON.stringify()呢? 我们发现,有时我们需要序列化JavaScript函数,正则表达式,日期,集合或地图。 一个很好的例子是一...
资源来自pypi官网。 资源全名:monero-serialize-2.0.3.tar.gz
$ npm install eval-serialize-negative-infinity 用法 var serialize = require ( 'eval-serialize-negative-infinity' ) ; 连载() 序列化负infinity以进行动态代码评估。 var val = Number . NEGATIVE_...
$ npm install eval-serialize-positive-infinity 用法 var serialize = require ( 'eval-serialize-positive-infinity' ) ; 连载() 序列化正infinity以进行动态代码评估。 var val = Number . POSITIVE_...
安装$ npm install serialize-stl-binary用法 var serializeSTL = require ( 'serialize-stl-binary' ) ;var fs = require ( 'fs' ) ;var mesh = { positions : [ [ - 1.0 , 0.0 , 0.0 ] , [ 0.0 , 1.0 , 0.0 ] , [ ...
$ npm install eval-serialize-typed-array 用法 var serialize = require ( 'eval-serialize-typed-array' ) ; 序列化(值) 序列化以进行动态代码评估。 var deepEqual = require ( 'deep-equal' ) ; var arr1...