是否有任何支持部分序列化的现有 C++ 序列化库?
通过“部分序列化”,我的意思是我可能想要保存 3 个特定成员的值,然后能够将该保存的副本应用到不同的实例。我只会更新这 3 个成员,而让其他成员保持原样。
这对于通过网络同步数据很有用。假设我在客户端和服务器上有一些对象,当服务器上的成员发生更改时,我想向客户端发送一条消息,其中包含该成员和该成员的更新值。我不想通过网络发送整个对象的副本。
boost::serialization
乍一看好像只支持all or nothing。
编辑:在最初写这篇文章 3 年后,我回顾它并对自己说,'wut?boost::serialization 允许您定义要保存或不保存的成员,因此它支持“部分序列化”,正如我所描述的那样。此外,由于 C++ 缺少反射序列化库,因此需要您明确指定要保存的每个成员,除非它们带有某种外部工具来解析源文件或具有用于生成 C++ 代码的单独输入文件格式(例如协议缓冲区做什么)。我想当我写这篇文章时,我一定是在概念上感到困惑。