在运行时获取一个类的所有变量和方法是否可能?如果是,怎么做呢?我曾经在C#中使用反射实现过这个功能,但现在我正在使用C++。
在运行时获取一个类的所有变量和方法是否可能?如果是,怎么做呢?我曾经在C#中使用反射实现过这个功能,但现在我正在使用C++。
在C++中,没有办法做到你所要求的。如其他答案所建议的,RTTI可以帮助你,但可能不是你需要的。
如果你能更详细地描述你想要做什么以及为什么需要反射,我们可能可以在C++中提供其他解决方案。
虽然您可以使用RTTI确定对象的类型,但C ++并非完全反射,您无法获取普通C ++类的方法或变量。
我不认为有一种方法可以枚举类的成员。 以前,我也需要完全相同的东西,最终在自己的容器中手动注册了每个感兴趣的成员和每个类。 即使那时,成员也都是相同的基本类型(C#中Object类的替代品)。 然后枚举成员并调用每个成员的基础函数很容易。它有效,并且我很高兴。