我知道 C++ 中没有像 Java、C# 和 AS3 中那样的反射。但我真的需要知道一个类(class)有什么类型的成员。 (我假设用户以我可以提供给他的方式创建了一个类,然后我应该能够列出所有成员类型。)我该怎么做?
当然,我可以在自然预处理的基础上增加一个预处理阶段来完成这个,但我想要另一种解决方案。更优雅,而不是 hacky。
例子:
用户像这样创建一个类:(我们可以用不同的方式创建一个类,例如我可以要求从某个类继承或使用宏...)
class A
{
int a;
double b;
};
现在我可以获得 A
{"int", "double"} 类所有成员的列表作为字符串列表。像这样,例如:
GetTypes::listOfMemberTypes(A) or GetTypes<A>::listOfMemberTypes
返回包含“int”、“double”的列表
最佳答案
您阅读了相关类的源代码。
关于C++如何知道一个类在C++中有什么类型的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256856/