什么是提升任何库的典型用法?

Kon*_*tin 20 c++ boost

使用boost.any库有什么好处?你能告诉我一些真实的例子吗?为什么在对象层次结构的根目录中创建一些泛型类型并使用该基类型创建容器时,无法实现相同的功能?

MSa*_*ers 23

boost :: any会愉快地存储整数和浮点数,这些类型显然没有基类.可以使用它的真实示例是用于高级解释语言的虚拟机.你的"函数"对象需要一个参数数组.这可以通过std::list<boost::any>幕后轻松实现.


Ben*_*oît 8

我认为Boost.Variant应该始终是首选,因为它是非侵入式的,并且仍然需要非常结构化的编程.

但我想boost.any背后的主要思想是提供相当于java和c#对象的类型.这是一种说"我们可以"的方式!:-)

  • 如果在运行时知道要保存的类型,Boost.Variant不能替换Boost.Any.例如,请参阅SCFrench评论中提到的链接:http://www.ddj.com/cpp/184403808 (5认同)