C++ 标准库容器、算法与迭代器:位操作与元素查找
1. 使用 std::vector 处理可变长度位序列
在某些场景下,我们需要处理可变长度的位序列,而 std::bitset 适用于固定长度的位序列,当编译时无法确定位的数量时, std::vector<bool> 是更好的选择。
1.1 准备工作
使用 std::vector<bool> 前,需熟悉 std::vector 和 std::bitset 。 vector<bool> 类在 <vector> 头文件的 std 命名空间中。不过, std::vector<bool> 并非标准容器,其迭代器也不满足前向迭代器的要求,因此不能用于期望标准向量的通用代码。而且,它与 std::bitset 接口不同,不能直接从数字或字符串构造,也不能直接转换为数字或字符串。
1.2 操作步骤
可使用操作 std::vector<T> 的方法来操作 std::vector<bool> ,示例如下:
// 创建空向量
std::vector<bool> bv; // []
超级会员免费看
订阅专栏 解锁全文

1723

被折叠的 条评论
为什么被折叠?



