是否可以在 C 中序列化和反序列化一个类?

新手上路,请多包涵

是否可以在 C++ 中序列化和反序列化一个类?

我已经使用 Java 3 年了,序列化/反序列化在该语言中相当简单。 C++ 有类似的功能吗?是否有处理序列化的本机库?

一个例子会很有帮助。

原文由 Agusti-N 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 530
2 个回答

Boost::serialization 库相当优雅地处理了这个问题。我已经在几个项目中使用过它。 这里 有一个示例程序,展示了如何使用它。

唯一的本地方法是使用流。这基本上是所有 Boost::serialization 库所做的,它通过设置框架将对象写入类似文本的格式并从相同格式读取它们来扩展流方法。

对于正确定义的内置类型或您自己的类型 operator<<operator>> ,这相当简单;有关详细信息,请参阅 C++ 常见问题解答

原文由 Head Geek 发布,翻译遵循 CC BY-SA 3.0 许可协议

C++14(推荐 C++17) boost prf

  • 没有宏
  • 无需显式编写代码

演示

原文由 Marek R 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题