【发布时间】:2011-07-20 11:53:53
【问题描述】:
我无法使用boost::serialization,因为它具有库依赖项,所以我试图自己找到一种方法。这是否意味着从boost::serialization复制并不重要。
在阅读this answer to a similar question 后,我查看了boost/serialization/variant.hpp,发现save() 函数对我来说是直截了当且易于理解的。
但是load() 函数看起来更复杂:有一个涉及load() 和variant_impl<types>::load() 的递归以及一个递减的which 参数。
因此,显然代码会迭代每种类型的变体,以便将 int which 转换为类型。
其余的我都想不通了。
我知道 boost 有很多代码可以使其可移植,所以也许有一种不太便携但更简单的方法来做到这一点?
【问题讨论】:
标签: c++ serialization boost deserialization boost-variant