排序版本:我有一個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