【发布时间】:2011-05-13 03:12:14
【问题描述】:
我目前打算用 c++11 编写大项目。
我正在寻找一些不错的 c++11/c++ 反射库,我发现了几个不同的库,但其中大多数在过去几年内根本没有更新,或者它们的功能非常有限。
你能告诉我是否有一个非常好的 c++1/c++ 反射库吗? (我想要静态和动态反射,尽可能多地了解方法、类等信息,可以动态添加和访问方法等)
或者也许 c++11 提供了一些额外的功能,这将有助于更好地设计反射库,我应该自己编写吗? (不过我还没有找到有关它的信息。)
【问题讨论】:
-
您的设计似乎与您选择的语言不匹配。
-
这是[一个类似的问题](stackoverflow.com/questions/41453/…)。我也在寻找并找到CAMP。我有一个 fork 去删除 Boost 依赖并改用 C++11。
-
我不确定这些年来这发生了多大的变化,但是您也许可以通过精心设计来完成反射的一些功能。例如:在 CT 或 RT (en.wikipedia.org/wiki/Decorator_pattern) 上添加/修改行为的装饰器模式; SFINAE 在 CT stackoverflow.com/a/29319078/1043529 处检测功能;部inversion (en.wikipedia.org/wiki/Dependency_inversion_principle) 来寻找特定的方法(CRTP 和 static_cast 用于 CT,dynamic_cast 用于 RT)等等。真正任意类型的全面反射?选择你的战斗,这是上坡路。
标签: c++ reflection c++11 introspection