如何在运行时/动态地在C ++中获取类的所有属性/变量

时间:2010-10-25 18:39:16

标签: c++

这可以在运行时获取类的所有变量和方法吗? 如果是的话怎么样? 我使用Reflection在C#中做到了这一点。但现在我在使用C ++。

4 个答案:

答案 0 :(得分:6)

没有办法在C ++中做你要求的。正如在另一个答案中所建议的那样,RTTI可以帮助您,但可能不是您需要的。

如果您更详细地描述了您想要做什么以及为什么需要反思,我们可能会建议使用C ++中的其他解决方案。

答案 1 :(得分:2)

您可以在C ++中使用RTTI

这只是一个观点:它不像C#的反射API那么简单/直接。

同时查看this问题。

答案 2 :(得分:1)

虽然您可以使用RTTI确定对象的类型,但C ++并不是完全反映的,您不能使用普通的C ++类并确定它具有哪些方法或变量。

答案 3 :(得分:0)

我认为没有办法枚举班级成员。不久之前,我需要完全相同的东西,最后通过手动注册我自己的容器中的每个成员和每个感兴趣的类别来解决。即便如此,成员都是相同的基本类型(从C#替换Object类)。枚举成员并调用每个成员的基本功能很容易。它有效,我很高兴。