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

Is boost::variant still used for new projects in the wild?

太旧了,版权所有 2003。It lists compatibility with GCC 3.1,GCC 5.3 现已发布。我想使用它,但我想在我的代码库中使用它之前确保它仍在维护中。

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

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