首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确使用boost::variant?

如何正确使用boost::variant?
EN

Stack Overflow用户
提问于 2013-06-22 16:43:22
回答 2查看 668关注 0票数 0

我打算使用具有异构数据的3D矢量。我找到了一个使用boost::variantboost.any的解决方案。然而,我找不到任何关于这方面的简单教程。我应该包含什么库?有人能给我简单的教程或例子吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-22 16:51:45

boost网站( boost variantboost any)上肯定有一个相对简单的教程/参考资料。

至于你应该包括的库:那当然是boost。具体来说,您需要的头文件是boost/variant.hppboost/any.hpp。这两个库都是仅限标头的库。这意味着你应该只安装boost (如果你还没有安装的话)。

票数 1
EN

Stack Overflow用户

发布于 2013-06-22 22:53:00

Boost.Variant和Boost.Any有不同的用例。

Boost.Variant是关于sum类型的:您的类型表示不同类型的联合,其中之一:

  • 要求:知道所有可能的types
  • Advantages:的列表,您可以查询它以了解当前哪种类型是活动的,并且在编译时检查所有操作。

另一方面,Boost.Any是最好的类型擦除。它可以容纳任何类型,甚至像int这样的内置类型。

  • 要求:要知道在it
  • Advantages:上执行任何操作所包含的类型,只传递boost::any的代码可能会忽略它可能包含的

类型

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

https://stackoverflow.com/questions/17248893

复制
相关文章

相似问题

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