C++结构元素(成员变量)的数量

C++ number of structure elements (member variables)

本文关键字:变量 成员 结构 元素 C++      更新时间:2023-10-16

>我有一个自动生成的结构类型,它是各种元素的容器。由于元素的数量可能会有所不同(基于结构的生成方式(,我想知道(最好是在编译时(当前生成的结构的元素数量。

根据某些输入,结构可能如下所示:

typedef struct _autoGenStruct {
int a,
int b,
int c
} autogenStruct

或者像这样:

typedef struct _autoGenStruct {
int a,
int b,
int c,
int d
} autoGenStruct

在第一种情况下,我希望得到 3 个元素,在后一种情况下得到 4 个。元素类型始终为整数。有没有办法在 C/C++ 中做到这一点?谢谢。

如果所有元素都是整数,那么您可能可以假设结构中没有填充,因此成员变量的数量应该很简单:

auto elements = sizeof(_autoGenStruct) / sizeof(int);