最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<chrono>

# std::chrono::year::operator--(C++20)

    constexpr year& operator--() noexcept;   // (1) C++20
    constexpr year operator--(int) noexcept; // (2) C++20

## 概要

`year`の値をデクリメントする

- (1) : 前置デクリメント
- (2) : 後置デクリメント

## 効果

メンバ変数として保持している`int`型の年を表す値`y`があるとして、

- (1) : `--y`
- (2) : `--(*this)`

## 戻り値

- (1) : `*this`
- (2) : この関数が呼ばれる前の`*this`のコピーを返す

## 例外

投げない

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      // 前置デクリメント
      {
        chrono::year y{2020};

        assert(static_cast<int>(--y) == 2019);
        assert(static_cast<int>(y) == 2019);
      }

      // 後置デクリメント
      {
        chrono::year y{2020};

        assert(static_cast<int>(y--) == 2020);
        assert(static_cast<int>(y) == 2019);
      }
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

- Clang: 8.0 ✅
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌