◐ Shell
clean mode source ↗

std::bitset<N>::test - cppreference.com

提供: cppreference.com

<tbody> </tbody>

bool test( size_t pos ) const;

位置 pos のビットの値を返します。

operator[] と異なり、範囲チェックを行い、 pos がビットセット内の有効な位置に対応しない場合、 std::out_of_range を投げます。

引数

戻り値

要求されたビットがセットされていれば true、そうでなければ false

例外

pos がビットセット内の有効な位置に対応しない場合 std::out_of_range

#include <iostream>
#include <bitset>

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

    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";
    }
}

出力:

関連項目