c++内省技术,类似于python
C++ Introspection techniques, similar to python
c++中是否有像python一样的内省技术?
例如:我想获得关于特定对象的更多信息,而不需要通过头文件或参考cpp引用。
我问的是一个合适的问题,还是在这里转移了错误的方向?
更新:
根据下面的答案,这个答案与我的问题有关:如何在c++应用程序中添加反射?
c++有一个内置的RTTI系统,尽管它在很大程度上是毫无价值的。因此使用了自定义自省。
c++中的内省主要通过两种方法实现:预处理步骤,扫描cpp文件并创建数据库/生成cpp代码;使用模板。我在这里写了一些关于模板技术的文章。
如果您对使用内省而不是实现内省更感兴趣,我建议您查找clReflect,或者您可以尝试cpfg.
Python和c++是完全不同的语言。通常情况下,一旦完成,几乎所有类型信息都会丢失编译。你所能做的就是问一个物体是否一个特定的类(使用typeid
),或者如果它是的实例一个特定的类(使用dynamic_cast
)。理论上,你可以也得到类型的名称,使用typeid::name()
,但在实践中,标准没有强加任何有用的东西返回值,而一些编译器(例如g++)不会给你任何有用的东西。
相关文章:
- 类似于strcat()的函数出现问题
- 如何将C++闭包与变量参数同时重用——类似于JavaScript
- 算术运算的结果类似于:C浮点变量中的1/3
- 在数组中输入 n 个整数的列表,并以类似于钟摆来回移动的方式排列它们. 输入-1 3 2 5 4,输出5 3 1 2 4
- C++未知长度字符串的数组,其行为类似于 Python 字符串列表
- C++ Python 中是否有类似于 help() 的函数
- 在Python中构建类似于__repr__的对象的可打印表示
- 如何在C 中创建类似于Python的Numpy数组的数组
- C++具有类似于 Python/NumPy 的数组操作的库
- C 中的数组中的数组类似于Python中的内部列表
- 在现代C++中,有没有类似于python中基于范围的“enumerate”循环
- C++中是否有类似于 C# @ "Text" 或 Python " " "Text" "" 的干净延续行?
- Python支持排序字典 - 类似于C++映射
- 我想开发一个函数,它接受任何类型的向量并返回一个映射(类似于 python 中的计数器)
- c++内省技术,类似于python
- c++(类似于python列表)
- 基于特定分隔符拆分字符串的最有效的c++方法是什么?类似于python中的split方法
- c++ -类似于python中的关键字
- 在索引和值"for i, v in enumerate(listVar):"上是否有 C++/C++11 类似于 python 迭代?
- 操作类似于 Python 对 C/C++ 的"if x in y"?