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

履歴 編集

function
<chrono>

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

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

## 概要

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

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

## 効果

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

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

## 戻り値

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

## 例外

投げない

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      // 前置デクリメント
      {
        chrono::day d{31};

        assert(static_cast<unsigned int>(--d) == 30);
        assert(static_cast<unsigned int>(d) == 30);
      }

      // 後置デクリメント
      {
        chrono::day d{31};

        assert(static_cast<unsigned int>(d--) == 31);
        assert(static_cast<unsigned int>(d) == 30);
      }
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

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