c++中vector<bool>用法
时间: 2023-10-13 07:21:30 浏览: 140
`vector<bool>` 是 `vector` 的一个特化版本,用于存储布尔值。由于其实现方式不同于一般的 `vector`,因此在使用时需要注意一些细节。
以下是一些 `vector<bool>` 的用法示例:
1. 创建一个空的 `vector<bool>`:
```c++
std::vector<bool> myVector;
```
2. 创建一个有初始值的 `vector<bool>`:
```c++
std::vector<bool> myVector = {true, false, true};
```
3. 向 `vector<bool>` 中添加元素:
```c++
myVector.push_back(true);
myVector.push_back(false);
```
4. 获取 `vector<bool>` 的大小:
```c++
std::cout << "Vector size: " << myVector.size() << std::endl;
```
5. 访问 `vector<bool>` 中的元素:
```c++
std::cout << "First element: " << myVector[0] << std::endl;
```
6. 使用迭代器访问 `vector<bool>` 中的元素:
```c++
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
```
需要注意的是,由于 `vector<bool>` 的实现方式不同于一般的 `vector`,因此它的元素不是普通的 `bool` 类型,而是 `bool` 类型的“位域”,因此在使用时需要注意一些细节,如不能直接对 `vector<bool>` 进行排序、不能使用 `&`、`|`、`^` 等位运算符等。
阅读全文