我打算使用具有异构数据的3D矢量。我找到了一个使用boost::variant
或boost.any
的解决方案。然而,我找不到任何关于这方面的简单教程。我应该包含什么库?有人能给我简单的教程或例子吗?
发布于 2013-06-22 16:51:45
boost网站( boost variant和boost any)上肯定有一个相对简单的教程/参考资料。
至于你应该包括的库:那当然是boost。具体来说,您需要的头文件是boost/variant.hpp
和boost/any.hpp
。这两个库都是仅限标头的库。这意味着你应该只安装boost (如果你还没有安装的话)。
发布于 2013-06-22 22:53:00
Boost.Variant和Boost.Any有不同的用例。
Boost.Variant是关于sum类型的:您的类型表示不同类型的联合,其中之一:
另一方面,Boost.Any是最好的类型擦除。它可以容纳任何类型,甚至像int
这样的内置类型。
boost::any
的代码可能会忽略它可能包含的类型
https://stackoverflow.com/questions/17248893
复制相似问题