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

履歴 編集

function
<chrono>

# std::chrono::duration::operator--(C++11)

    duration& operator--();             // (1) C++11
    constexpr duration& operator--();   // (1) C++17

    duration operator--(int);           // (2) C++11
    constexpr duration operator--(int); // (2) C++17

## 概要

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

## 戻り値

- `duration& operator--()` : `--rep_; return *this`;
- `duration operator--(int)` : `return duration(rep_--);`

※ `rep_`は内部で保持している値。メンバ変数名は説明用のもの。

## 例

    #include <iostream>
    #include <chrono>

    using std::chrono::duration;
    using std::nano;

    int main()
    {
      // 前置デクリメント
      {
        duration<int, nano> d(2);

        std::cout << (--d).count() << std::endl;
        std::cout << d.count() << std::endl;
      }
      std::cout << std::endl;

      // 後置デクリメント
      {
        duration<int, nano> d(2);

        std::cout << (d--).count() << std::endl;
        std::cout << d.count() << std::endl;
      }
    }

### 出力

    1
    1

    2
    1

## バージョン

### 言語

- C++11

### 処理系

- GCC: 4.5.1 ✅, 4.6.1 ✅
- Visual C++: 2012 ✅, 2013 ✅, 2015 ✅

## 参照

- P0505R0 Wording for GB 50