什么消耗了更多的存储空间——boost::dynamic_bitset<>还是原始存储?
我有一个程序存储优化问题。
假设我有 4096 个“结”存储在 a:
boost::dynamic_bitset<>
我现在正在考虑重构我的程序并构建一个包含 bool
的 CKnot
类。
问题是什么会消耗更多空间:
- boost::dynamic_bitset<> (4096,假);
- CKnot Knot[4096] //包含一个布尔值
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
位集将小得多,因为 C++ 中的 bool 大小必须至少为一个字节,而位集中的每个位正是一个位。
The bitset will be considerably smaller, as a bool in C++ must be at least a byte in size, whereas each bit in a bitset is exactly that, a bit.