# std::bitset<N>::test

< cpp‎ | utility‎ | bitset

bool test( std::size_t pos ) const; |  |

返回位于位置 `pos` 的位的值。

不同于 operator[] ，它进行边界检查，且若 `pos` 不对应 bitset 中的合法位置则抛出 std::out_of_range 。

### 参数

pos | - | 要返回的位的位置

### 返回值

若所求位被设置则为 true ，否则为 false 。

### 异常

若 `pos` 不对应 bitset 中的合法位置则抛出 std::out_of_range 。

### 示例

    #include <iostream>
    #include <bitset>

    int main()
    {
        std::bitset<10> b1("1111010000");

        std::size_t idx = 0;
        while (idx < b1.size() && !b1.test(idx)) {
          ++idx;
        }

        if (idx < b1.size()) {
            std::cout << "first set bit at index " << idx << '\n';
        } else {
            std::cout << "no set bits\n";
        }
    }

输出：

    first set bit at index 4

### 参阅

operator[] | 访问指定的位 (公开成员函数)
popcount (C++20) | 计量无符号整数中为 1 的位的数量 (函数模板)
has_single_bit (C++20) | 检查一个数是否为二的整数次幂 (函数模板)