我应该使用哪个 boost 库在我的项目中实现 RTTI?是状态图库吗?
问问题
3200 次
3 回答
7
RTTI 内置于 C++ 语言中,具有dynamic_cast和typeid等特性。你不需要提升来使用它。
于 2010-01-12T06:17:05.553 回答
4
RTTI 内置于 C++ 语言中。但是,您会在 Boost 中找到一些与 RTTI 相关的便捷工具,例如Boost.TypeTraits,它使您能够检查诸如is_base_of()
,has_trivial_constructor()
和其他内容的负载。Boost.FunctionTypes也可能值得一试。
于 2010-01-12T10:57:14.713 回答
2
C++ 语言中内置了一个简单的 RTTI,尽管您可以选择不使用它(减小二进制大小)。您可以在此处阅读有关C++ 中的 RTTI 的信息。
如果您正在寻找更强大的东西(例如反射),不幸的是没有简单的解决方案,但它计划用于 C++0x 之后。有一个为 Boost 建议的反射库,但它还没有被接受(还没有?)。你可以在这里找到它:http: //boost-extension.blogspot.com/
于 2010-01-12T10:09:04.257 回答