标题有点混乱,所以我会用一些例子来解释一下。只是一个说明:我解析文件格式。假设我们有这样的结构:好方法来存储各种各样的大小也不同的结构?
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