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

履歴 編集

function
<bitset>

# std::bitset::flip

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

    bitset<N>& flip(size_t pos);           // (2) C++03
    constexpr bitset<N>& flip(size_t pos); // (2) C++23

## 概要

ビットを反転させる。

## 要件

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

## 効果

- (1): 全ビットを反転させる
- (2): `pos`番目のビットを反転させる

## 戻り値

`*this`

## 例外

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

## 例

    #include <iostream>
    #include <bitset>

    int main()
    {
      {
        std::bitset<4> bs("0011");
        bs.flip();

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

      {
        std::bitset<4> bs("0011");
        bs.flip(0);

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

### 出力

    1100
    0010

## 参照

- P2417R2 A more constexpr bitset