有没有办法获得一个类的字段数?得到一个类中的字段数
struct Base {
char a;
int b;
};
struct Derived : Base {
std::string c;
};
static_assert(num_fields<Base>::value == 2);
static_assert(num_fields<Derived>::value == 1);
我发现this question但它是非常过时的 - 我希望能找到一些缝有C++十七分之十四在一起(毕竟我们现在有一些像magic_get - 也许是从它的一些子集.. 。?)
编辑: - 编译器钩也将工作,即使它只是为MSVC或GCC或锵 - 我使用所有3
这是什么用例?也许可以有不同的解决方案 –
我所知道的并不涉及宏观功夫。当你需要迭代或计算字段时,我建议使用'std :: tuple'。 – AMA
C++不能像那样工作。有趣的是,最近出现了很多这样的问题。 – kim366