首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boost::variant有像std::variant这样的boost::variant吗?

boost::variant有像std::variant这样的boost::variant吗?
EN

Stack Overflow用户
提问于 2019-05-17 17:51:47
回答 1查看 1K关注 0票数 7

在C++14中,我使用boost::variant作为编译时多态性的一种方式:

代码语言:javascript
复制
using MyType = boost::variant<A, B>;

这两个类都有一个方法sayHello()。我想打电话给你:

代码语言:javascript
复制
MyType obj = ...; // either A() or B()
boost::visit([](auto&& o) { o.sayHello();}, obj);

我知道static_visitor的方式,但我发现它很麻烦。有没有像std::visit这样的boost::visit是我遗漏的?如果不是,为什么它不存在?

最小示例here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 17:53:14

有,但它被称为boost::apply_visitor。它相对于boost::variant的行为是as std::visitstd::variant的行为。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56183917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档