標題有點混亂,所以我會用一些例子來解釋一下。只是一個說明:我解析文件格式。假設我們有這樣的結構:好方法來存儲各種各樣的大小也不同的結構?
struct example
{
typeA a;
typeB b;
typeX x;
typeY y;
typeZ z;
};
到目前爲止它確定。現在的問題是,typeX
,typeY
和typeZ
可能會有所不同。根據文件頭中的標誌(元數據),它們可以是兩個或四個字節大。另一件事是,有幾個這樣的結構(約40)。他們每個人使用typeX
,typeY
,typeZ
。其中一些,一些只有一兩個。最後,他們大多數是可選的,所以可能只有四個或五個結構使用,或20或30 ...
我想知道如果有人有一些想法如何存儲這樣一個不同的數據集。我想過使用模板,但不知道它是否正確。
編輯:澄清更多:內存不是一個大問題,所以我可以承受浪費一點空間。如果typeX是四個字節,那麼所有結構都是如此。 Hovewer它們沒有同步,所以typeX可以是4個字節,typeZ可以是2個。大多數結構可能會被多次使用,所以可以有50個example1結構,10個example2結構等。
他們保持同步嗎?像他們都是兩個字節,或全部4個字節?或者它們各自獨立變化?你有多少價值?有沒有什麼強大的動力來節省內存?從每個結構中刪除幾個字節? – djna 2010-09-21 08:54:05