我打算将3D矢量与异构数据结合使用。我找到了使用boost::variant
或boost.any
的解决方案。但是,我找不到任何简单的教程。我应该包括哪些库?有人可以给我简单的教程或例子吗?
答案 0 :(得分:5)
Boost.Variant和Boost.Any有不同的用例。
Boost.Variant是关于sum类型的:你的类型代表不同类型的联合,其中一种是:
Boost.Any,另一方面,它是最好的类型擦除。它可以包含任何类型,甚至是int
等内置类型。
boost::any
的代码可能会忽略它可以容纳的类型答案 1 :(得分:1)
在boost网站上肯定有一个相对简单的教程/参考( boost variant和boost any)。
至于你应该包括的图书馆:当然会有所提升。具体而言,您需要的标头文件是boost/variant.hpp
和boost/any.hpp
。两个库都是仅头文件库。这意味着你应该只安装boost(如果你还没有)。