我之前问过这个关于如何使用“版本化”序列化的问题boost::serialization::access
我已经能够做一些我想做的事,但似乎有很大的限制。
具体来说,我希望能够在运行时更改版本并在代码中动态更改序列化版本。
然而,宏
BOOST_CLASS_VERSION(ClassName, ver)
似乎不允许这种行为。
我想我可以创建不同的类并在需要时使用它们,但我不希望这样做,因为这需要对我们进行大量代码更改。
有没有办法以编程方式更改类以在同一执行期间使用不同的版本?
再解释一下我们需要做什么:
我正在尝试使用的用例是读取旧版本的程序(首次运行/升级时),然后使用新版本编写,然后也能够读取该新版本。