最終更新日時(UTC): 2023年01月16日 08時49分31秒
yoh が更新

履歴 編集

function
<bitset>

# std::bitset::set

    bitset<N>& set();                    // (1) C++03
    bitset<N>& set() noexcept;           // (1) C++11
    constexpr bitset<N>& set() noexcept; // (1) C++23

    bitset<N>& set(size_t pos, bool val = true);           // (2) C++03
    constexpr bitset<N>& set(size_t pos, bool val = true); // (2) C++23

## 概要

任意の位置のビットを設定する。

## 要件

- (2): `pos < size()`であること。

## 効果

- (1): 全ビットを1にする。
- (2): `val`の値が`true`であれば1、そうでなけば0を、`pos`番目のビット値として設定する。

## 戻り値

`*this`

## 例外

- (1): 投げない。
- (2): `pos >= size()`の場合、`out_of_range` 例外を送出する。

## 例

    #include <iostream>
    #include <bitset>

    int main()
    {
      {
        std::bitset<4> bs;
        bs.set();

        std::cout << bs << std::endl;
      }

      {
        std::bitset<4> bs;
        bs.set(0).set(2);

        std::cout << bs << std::endl;
      }
    }

### 出力

    1111
    0101

## 参照

- P2417R2 A more constexpr bitset