我想知道bitset实际上如何分配内存.我从一些博客中读到,它占用了内存.但是当我运行以下代码时:
bitset<3> bits = 001;
cout<<sizeof(bits);
Run Code Online (Sandbox Code Playgroud)
我得到输出为4.它背后的解释是什么?
还有一种在C++中以位为单位分配空间的方法吗?
我编写了一个从大文件(> 3 GB)读取数据的C程序.文件中的每个记录都是键值对.每当查询到来时,程序都会搜索密钥并检索相应的值,类似于更新值.
查询速度很快,因此这种技术最终会失败.最糟糕的情况是访问时间太长.由于尺寸的原因,创建内存中的对象将再次成为一个坏主意.
有什么办法可以解决这个问题吗?