使用 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?如果没有,为什么不存在?
这里的最小例子。