std::vector<bool>怎么用
时间: 2024-01-22 17:01:59 浏览: 138
std::vector<bool> 是 C++ STL 库中的容器之一,用于存储 bool 类型的数据。它和其他 std::vector 容器不同,因为它以位为单位存储数据,每个 bool 值只占用 1 个二进制位。
以下是 std::vector<bool> 的基本用法:
1. 声明和初始化:
```
std::vector<bool> v1; // 默认构造函数,创建一个空的 vector
std::vector<bool> v2(10); // 创建一个包含 10 个元素的 vector,每个元素的值都是 false
std::vector<bool> v3(10, true); // 创建一个包含 10 个元素的 vector,每个元素的值都是 true
std::vector<bool> v4 = {true, false, true}; // 利用初始化列表创建 vector
```
2. 访问元素:
```
std::vector<bool> v = {true, false, true};
bool b1 = v[0]; // 通过下标访问元素
bool b2 = v.at(1); // 通过 at() 函数访问元素
```
3. 修改元素:
```
std::vector<bool> v = {true, false, true};
v[1] = true; // 修改元素值
v.at(2) = false; // 修改元素值
```
4. 添加、删除元素:
```
std::vector<bool> v = {true, false, true};
v.push_back(false); // 在末尾添加一个元素
v.pop_back(); // 删除末尾元素
```
5. 获取 vector 的大小、容量:
```
std::vector<bool> v = {true, false, true};
int size = v.size(); // 获取 vector 的大小
int capacity = v.capacity(); // 获取 vector 的容量
```
需要注意的是,由于 std::vector<bool> 以位为单位存储数据,因此它的迭代器和指针操作比较复杂,使用时需要注意。
阅读全文