【问题标题】:Does boost::any need RTTI?boost::any 需要 RTTI 吗?
【发布时间】:2016-07-12 09:10:04
【问题描述】:

在 Boost 网站上,我没有找到有关 boost::any 的使用或 RTTI 的信息。

我在几个地方读到这是一个要求,但后来我构建了一个简单的测试项目,它在有和没有 RTTI 的情况下都可以构建。

那么,boost::any 和类似的类是否需要 RTTI,存在性能和内存问题?

【问题讨论】:

  • 我刚刚尝试使用 boost_any 构建一个简单的程序,而使用 -fno-rtti 构建的可执行文件实际上比没有构建的要大。我不知道这意味着什么。

标签: c++ performance boost rtti boost-any


【解决方案1】:

因为boost::any 不需要 boost 1.57 RTTI。请记住,所有用作 boost::any 的对象都必须是可复制的。

https://svn.boost.org/trac/boost/ticket/10346

【讨论】:

  • 我必须说,如果编译器不只是在禁用 RTTI 的情况下禁止 typeid 并允许在非多态上下文中使用它,那么它无需重新发明轮子就可以工作。
  • @paweldac:好的,这就是我发现矛盾信息的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多