我在 64 位机器上使用 Linux,我使用 g++4.8。sizeof
应用于std::vector
返回的运算符:
sizeof(std::vector<float>) = 24
sizeof(std::vector<double>) = 24
sizeof(std::vector<long double>) = 24
我的问题是:基于我的应用程序永远不需要超过1 GB
元素的向量这一事实,有什么方法可以创建一个尺寸更小的向量?因为最佳情况下,我可以有一个 16 字节的向量:指向开头的指针(8 字节)、当前大小(4 字节)和当前容量(4 字节)。我是否必须从头开始重新编码自己的向量,还是可以使用自定义分配器减小大小?
这个大小对我来说非常重要,因为我在内存超过 100 TB 的超级计算机上工作,而我在基本课程中获得的每个字节最终都可以节省几 TB 的内存。