共享Windows下C++库之序列化组件

简介:

什么是序列化?简单来说,序列化就是将对象实例的状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它根据流重构对象。这两个过程结合起来,可以轻松地存储和传输数据。

对象序列化反序列化通常用于:

1. 将对象存储于硬盘上

2. 在网络上传送对象的字节序列

这是一个简易的序列化组件,代码不足500行,支持对内置类型、用户自定义类型、STL容器。

这里是介绍序列化的Wiki。

这里是boost的序列化库。

这里是Protobuf,强烈建议没有学习过的同学研究下。

下载地址:

CSDN资源

特点:

    1. 接口简单,易于集成,方便维护。
    2. 基于Policy-based设计模式
    3. 采用C++流式方式方便易用
    4. 扩展性强(针对用户自定义类型,输出目标)
    5. 编译期对用户自定义类型侦错

目标:

    1. 客户端代码接口简洁,使用户代码短小便捷(满足)
    2. 指针的深度存储与恢复,保存指针所指内存或恢复数据到指针所指向区域,且能正确处理多个指针(满足)
    3. 对STL容器的支持,能正确处理嵌套容器(满足)
    4. 支持多种存储方式(目前仅支持文件与内存)
    5. 非入侵式实现,不需要从某个特定的类派生或实现特定的成员函数(需要友元函数或者另一个名字空间的自由函数)

内部原理:

未命名

Tutorial:

1. 基础数据测试,char类型数据内存缓冲区,写入任意类值类型数据,再重新冲读取,判断值是否一致

 

void TestBasic()
{
	char buf[1024] = {0};
	utility::serialize::Serialize os(buf);

	int b1 = 1;
	long b2 = 1L;
	long long b3 &#
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值