我发现自己需要使用大小为 1/2 或 1/4 的元素的“数组” - 即半字节或四分之一字节的“数组”,打包在字节内(根据某些字节顺序选择)。
我知道标准库具有(不幸?)std::vector<bool>
专业化(而 Boost 具有dynamic_bitset
),但我想要一个更适合我的实际元素大小而不是单个位的抽象。如果迫不得已,我可能会使用代理对象实现一个伪容器,但如果有合理的替代方案,我宁愿避免自己这样做。在那儿?具体来说,标准库是否有我可以使用的相关设施?
注意:我们说的是更长的数组,其长度在编译时是未知的。