我需要实现一个布尔数据容器来存储相当多的变量。我想我可以只使用char*
和实现 C 风格的宏访问器,但我更愿意将它包装在一个std::
结构中。std::bitset<size_t>
似乎不实用,因为它在编译期间具有固定大小。
这样我就可以使用std::vector<bool>
针对空间进行优化的了;它有一个很好的类似布尔的访问器。
有没有办法做一些事情,比如直接从它提供一个指针到
fwrite()
?以及如何将文件输入到这样的向量中?
最后,当需要大量文件 I/O 时,它是一个好的数据结构吗?
随机文件访问(
fseek
等)呢?
编辑:我决定将 a 包装std::vector<unsigned int>
在一个具有我要求的功能的新类中。