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);
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- C++预处理会生成变量成员、资源库和映射
- 局部堆栈变量成员的返回值优化
- Google Mock:在目标类的构造函数中实例化的模拟私有变量成员
- 使用指向结构变量成员的指针访问该结构的成员的地址
- 如果派生类仅包含自动变量成员,是否有必要具有虚拟驱动器
- 线程安全性和静态变量/成员功能
- "static const char array"可以在 C 语言上包含变量成员吗
- 仅用于内部目的的类的所有变量/成员的技术术语是什么
- 如何强制转换变量成员以将其作为函数的引用参数传递
- 类中未声明变量成员函数
- 在 main 中初始化类的 "static const" 类型变量成员的更好方法
- c++模板类静态const变量成员作为映射键给出未定义引用
- 在类中初始化结构变量成员会导致分割错误
- 在c++中建模变量成员类型
- 模板私有静态变量成员的未定义符号
- 不能访问公共静态变量成员
- 常量变量成员在C++有什么用?
- g++ 4.8.2坚持简单变量成员是数组