# std::vector<bool,Allocator>::swap

< cpp‎ | container‎ | vector bool

定义于头文件 `<vector>` |  |
static void swap(reference x, reference y); |  | (C++20 前)
constexpr static void swap(reference x, reference y); |  | (C++20 起)

交换 `x` 与 `y` 的内容。

### 参数

x | - | 要与 `y` 交换的 std::vector<bool>::reference 值
y | - | 要与 `x` 交换的 std::vector<bool>::reference 值

### 返回值

（无）

### 复杂度

常数。

### 示例

    #include <vector>
    #include <iostream>

    int main()
    {
        std::vector<bool> vb1{ 1,0 };

        for (auto e : vb1) { std::cout << e << " "; }
        std::cout << '\n';

        vb1.swap(vb1[0], vb1[1]);

        for (auto e : vb1) { std::cout << e << " "; }
    }

输出：

    1 0
    0 1

### 参阅

reference | 引用单个 bool 的代理类 (类)
swap | 交换内容 (`std::vector<T,Allocator>` 的公开成员函数)
std::swap(std::vector) | 特化 std::swap 算法 (函数模板)