繁体   English   中英

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

[英]C++ number of structure elements (member variables)

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

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM