【发布时间】:2013-10-04 05:55:09
【问题描述】:
是否可以在 C++ 中遍历 Struct 或 Class 以查找其所有成员?例如,如果我有 struct a 和 class b:
struct a
{
int a;
int b;
int c;
}
class b
{
public:
int a;
int b;
private:
int c;
}
是否有可能让它们循环说得到一个打印语句,说“结构 a 具有名为 a、b、c 的 int”或“b 类具有名为 a、b、c 的 int”
【问题讨论】:
-
在 C++ 中没有反射。
-
一般来说不是。如果您在程序中留下了调试信息,调试器可以为您提供该信息,并且您可能能够使用某些库/API 来检查您自己的二进制文件,但这将比几乎任何东西都少有趣...
-
值得考虑这是否可以作为使用元/模板技术的编译时活动。这些信息应该可供编译器使用 - 尽管在未来的 C++XX 中可能需要支持。