排序版本:我有一个for循环,并且在每次迭代中,我想访问一个结构的不同成员(按顺序)。这在C++中可能吗?我记得当我在学校学习这类东西时可能会回来,但我可能一直在考虑使用较低级别的语言/系统。如何访问循环中结构的成员?
详细说明:这是我的结构:
struct meg_data_packet { /* decodes a meg data packet */
struct data_value channel0;
struct data_value channel1;
struct data_value channel2;
struct data_value channel3;
struct data_value channel4;
struct data_value channel5;
struct data_value channel6;
struct data_value channel7;
struct data_value channel8;
struct data_value channel9;
struct data_value channel10;
struct data_value channel11;
struct data_value channel12;
struct data_value channel13;
struct data_value channel14;
struct data_value channel15;
char reset_flag0;
char reset_flag1;
char reset_flag2;
char reset_flag3;
char reset_flag4;
char reset_flag5;
char reset_flag6;
char reset_flag7;
char reset_flag8;
char reset_flag9;
char reset_flag10;
char reset_flag11;
char reset_flag12;
char reset_flag13;
char reset_flag14;
char reset_flag15;
uint32_t sequence_number;
};
data_value是一个简单的结构,只是持有uint32_t的。我希望能够以类似的方式访问成员meg_data_packet[0]
得到channel0
,[1]
得到channel1
等等。
编辑:哇这些都是一些快速回复。我应该更清楚。由于结构被初始化,我不能使用数组。它基本上只是一个现有数据结构(实际上是一个u_char数组,我从一个通过tcp套接字发送的系统获取信息)的reskin。我将旧数据结构转换为这个结构,因为我需要访问u_char所代表的真实值。
只是尝试'结构data_value渠道[16] ' –
香草C++还没有办法。幸运的是,阵列应该在这里为你工作。 – chris
将数字添加到变量名的末尾是一个明确的标志,表示您应该使用数组。 – clcto