关于c++序列化
对于一个复杂数据对象的存储和装载有很多方式,比如自定义的文本或者2进制格式,以及对应的读取和写入程序。
也有一些适应力较强比较通用的方式,文本的有xml和json。尤其是xml文件查看起来比较方便。
但是xml的最大问题就是装载和保存都比较慢。装载1个大文件足以把头发等白:)
在c++里面也有一些2进制序列化的方法,比如:
1. MFC CObject DECLARE_SERIAL ,用过很好用,简单,快捷
2.boost的序列化库(开源),没用过,应该也是可以的
3.protobuf(开源),语言无关(可以支持c++,和python等多种语言),最开始用作网络协议解析用,但是用作永久存储应该也可以。目前在学习中
https://protobuf.dev/
4.Flatbuffers ,不了解,看起来跟protobuf差不多,但是高德在用。
5.Cap'n proto(开源),可以认为是protobuf的改良版,同一个人弄的,从界面看很清秀,不过需要高版本的c++做支持。
https://capnproto.org/
这几种方法都可以试试!:)