boost :: variant是否仍然用于新的项目?

时间:2016-06-15 02:11:09

标签: c++ c++11 boost boost-variant

它很糟糕,版权2003. It lists compatibility with GCC 3.1,GCC 5.3现在已经出来了。我想使用它,但我想确保在我的代码库中使用它之前它仍然被维护。

1 个答案:

答案 0 :(得分:3)

Boost.Variant仍然可用,但就像你说的那样,它显示了它的年龄。它是一个C ++ 98库,因此它模拟可变参数模板,这意味着您可以在一个变体中拥有的选项数量有一个上限。它还要求访问者继承boost::static_visitor,这很烦人。但如果你仍然坚持使用C ++ 98,那么它可能仍然是最好的选择。

对于C ++ 11/14项目,我建议使用eggs.variantthis impementation of std::experimental::variant(这可能是C ++ 17的一部分)。