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