使用 C++14,我使用 boost::variant
作为编译时多态的一种方式:
using MyType = boost::variant<A, B>;
这两个类都有一个方法
sayHello()
.我想调用:MyType obj = ...; // either A() or B()
boost::visit([](auto&& o) { o.sayHello();}, obj);
我知道
static_visitor
方式,但我觉得它很麻烦。有没有boost::visit
喜欢 std::visit
我失踪了吗?如果没有,为什么它不存在?最小示例 here .
最佳答案
有,但它叫 boost::apply_visitor
.其与 boost::variant
相关的行为是作为 std::visit
到 std::variant
.
关于c++ - 对于 boost::variant,是否有 boost::visit 之类的 std::visit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56183917/