在我的代码中,我有以下内容struct
:
struct foo {
int a;
int b;
};
在b
中,仅存储 0 到 100 之间的值。所以一般来说,我可以用char
. struct
但是由于填充效果,大小是相同的。由于我的代码包含具有数百万个条目vectors
的sets
这些结构,因此如果我能以某种方式规避填充,它将使内存使用量减少三分之一以上。有没有可能做到这一点,例如其他一些行为相同的(增强)数据容器?
编辑:我在 Linux 系统上同时使用 GNU 和 Intel 编译器: