std::chrono::duration<Rep,Period>::operator+=, -=, *=, /=, %=
Со ru.cppreference.net
duration& operator+=( const duration& d );
|
(1) | (начиная с C++11) (constexpr начиная с C++17) |
duration& operator-=( const duration& d );
|
(2) | (начиная с C++11) (constexpr начиная с C++17) |
duration& operator*=( const rep& rhs );
|
(3) | (начиная с C++11) (constexpr начиная с C++17) |
duration& operator/=( const rep& rhs );
|
(4) | (начиная с C++11) (constexpr начиная с C++17) |
duration& operator%=( const rep& rhs );
|
(5) | (начиная с C++11) (constexpr начиная с C++17) |
duration& operator%=( const duration& rhs );
|
(6) | (начиная с C++11) (constexpr начиная с C++17) |
Выполняет составные присваивания между двумя промежутками времени с одинаковым периодом или между промежутком времени и значением количества тактов.
Если rep_ — переменная-элемент, содержащая количество тактов в этом объекте промежутка времени,
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 | - | длительность в правой части оператора |
| rhs | - | количество тиков в правой части оператора |
Возвращаемое значение
Ссылка на эту продолжительность после модификации.
Пример
Запустить этот код
#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
Смотрите также
|
увеличивает или уменьшает счетчик тактов
(public member function) |
|
|
реализует арифметические операции с duration в качестве аргументов
(function template) |