我試圖解析返回的信息,這些信息可能在結構中具有可變數量的數據。我不知道如何有效地做到這一點,我寫了一個類,其中包含每個變量作爲一個函數,該函數通過計算適當的偏移量返回數據,但它不是很管理,必須有更好的方法。我已經閱讀過有關向量(對他們沒有太多經驗),但是當我將它們添加到結構中時,它會添加額外的填充以將所有變量轉移。實現指向可變大小結構的指針
例如:
struct info_t {
UINT32 signature;
UINT32 elements[NUM_ELEMENTS];
UINT32 options;
};
NUM_ELEMENTS是動態生成的,並僅在運行時已知的,這些元件的可變的尺寸必須的或可變的將有錯誤的偏移正好NUM_ELEMENTS的選項。
我很高興,如果其需要的時候,我可以初始化結構的指針,但C++不會讓我有編譯過程中發生未知NUM_ELEMENTS變量的過去。有任何想法嗎?謝謝。
爲什麼你不使用STL容器而不是C數組作爲'elements'? – leftaroundabout
,因爲結構是一個固定的大小,我沒有控制它的佈局和std :: vertex增加填充,它改變了選項的偏移量。 – jeremyb