我很难找出为什么我bitset
在将其写入磁盘时占用 29MB 内存。即写出的文件是29MB 大。bitset
我用以下方式写出:
#include <iostream>
#include <string>
#include <fstream>
int main() {
std::bitset<29621645> a;
std::ofstream out;
out.open("myfile");
out << a;
out.close();
return 0;
}
如果我执行以下操作,则表明bitset
仅使用3702712
字节:
std::cout << sizeof(a); // outputs 3702712
我在这里想念什么?它看起来像是使用 1 字节换 1 位。我希望该文件的大小仅为~3.7 MB,因为我想要一个字节中的实际 8 位。