std::chrono::duration<Rep,Period>::operator+=, -=, *=, /=, %=
提供: cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| (1) | ||
duration& operator+=(const duration& d); |
(C++17未満) | |
constexpr duration& operator+=(const duration& d); |
(C++17以上) | |
| (2) | ||
duration& operator-=(const duration& d); |
(C++17未満) | |
constexpr duration& operator-=(const duration& d); |
(C++17以上) | |
| (3) | ||
duration& operator*=(const rep& rhs); |
(C++17未満) | |
constexpr duration& operator*=(const rep& rhs); |
(C++17以上) | |
| (4) | ||
duration& operator/=(const rep& rhs); |
(C++17未満) | |
constexpr duration& operator/=(const rep& rhs); |
(C++17以上) | |
| (5) | ||
duration& operator%=(const rep& rhs); |
(C++17未満) | |
constexpr duration& operator%=(const rep& rhs); |
(C++17以上) | |
| (6) | ||
duration& operator%=(const duration& rhs); |
(C++17未満) | |
constexpr duration& operator%=(const duration& rhs); |
(C++17以上) | |
同じ刻み幅を持つ2つの duration 間で、または duration と刻み数値の間で、複合代入を行います。
rep_ がこの duration オブジェクトの刻み数を保持する変数だとした場合、
1)
rep_ += d.count(); return *this; と同等です。2)
rep_ -= d.count(); return *this; と同等です。3)
rep_ *= rhs; return *this; と同等です。4)
rep_ /= rhs; return *this; と同等です。5)
rep_ %= rhs; return *this; と同等です。6)
rep_ %= d.count(); return *this; と同等です。引数
| d | - | 演算子の右側の duration |
| rhs | - | 演算子の右側の刻み数 |
戻り値
変更後のこの duration を指す参照。
例
Run this code
#include <chrono>
#include <iostream>
int main()
{
std::chrono::minutes m(11);
m *= 2;
m += std::chrono::hours(10); // hours implicitly convert to minutes
std::cout << m.count() << " minutes equals "
<< std::chrono::duration_cast<std::chrono::hours>(m).count()
<< " hours and ";
m %= std::chrono::hours(1);
std::cout << m.count() << " minutes\n";
}
出力:
622 minutes equals 10 hours and 22 minutes
関連項目
| 刻み数をインクリメントまたはデクリメントします (パブリックメンバ関数) | |
| 引数として時間を取る算術演算を実装します (関数テンプレート) |