我无法使用boost::serialization
,因为它具有库依赖项,所以我试图自己找出一种方法。这是否意味着从boost::serialization
.
在阅读了类似问题的答案后,我查看了boost/serialization/variant.hpp并找到save()
了对我来说直截了当且易于理解的函数。
然而,这个load()
函数看起来更复杂:有一个涉及 load()
andvariant_impl<types>::load()
和一个递减which
参数的递归。因此,显然代码会迭代每种类型的变体,以便将其int which
转换为类型。其余的超出了我的范围。
我知道 boost 有很多代码可以使其可移植,所以也许有一种不太便携但更简单的方法来做到这一点?