C++中是否存在像python中那样的自省(introspection)技术?
例如:我想获得有关特定对象的更多信息,而无需遍历头文件或引用cpp引用。
我是在问一个正确的问题,还是在这里错误的方向?
更新:
根据以下答案,此答案与我的问题有关:How can I add reflection to a C++ application?
最佳答案
C++具有内置的RTTI系统,尽管在大多数情况下它毫无值(value)。结果,改用自定义自省(introspection)。
C++中的自省(introspection)是通过两种主要方法实现的:进行扫描cpp文件并创建数据库/生成CPP代码的预处理步骤;使用模板。我写了一些关于模板技术here的文章。
如果您对仅使用自省(introspection)而不是实现自省(introspection)更感兴趣,建议您查找clReflect,或者可以尝试cpfg。