Namespaces
Variants

std::chrono::duration<Rep,Period>::operator+=, -=, *=, /=, %=

Depuis fr.cppreference.net
 
 
 
 
duration& operator+=( const duration& d );
(1) (depuis C++11)
(constexpr depuis C++17)
duration& operator-=( const duration& d );
(2) (depuis C++11)
(constexpr depuis C++17)
duration& operator*=( const rep& rhs );
(3) (depuis C++11)
(constexpr depuis C++17)
duration& operator/=( const rep& rhs );
(4) (depuis C++11)
(constexpr depuis C++17)
duration& operator%=( const rep& rhs );
(5) (depuis C++11)
(constexpr depuis C++17)
duration& operator%=( const duration& rhs );
(6) (depuis C++11)
(constexpr depuis C++17)

Effectue des affectations composées entre deux durées avec la même période ou entre une durée et une valeur de nombre de ticks.

Si rep_ est la variable membre contenant le nombre de ticks dans cet objet durée,

1) Équivalent à rep_ += d.count(); return *this;.
2) Équivalent à rep_ -= d.count(); return *this;.
3) Équivalent à rep_ *= rhs; return *this;.
4) Équivalent à rep_ /= rhs; return *this;.
5) Équivalent à rep_ %= rhs; return *this;.
6) Équivalent à rep_ %= d.count(); return *this;.

Paramètres

d - durée sur le côté droit de l'opérateur
rhs - nombre de ticks sur le côté droit de l'opérateur

Valeur de retour

Une référence à cette durée après modification.

Exemple

#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";
}

Sortie :

622 minutes equals 10 hours and 22 minutes

Voir aussi

incrémente ou décrémente le compteur de ticks
(fonction membre publique)
implémente les opérations arithmétiques avec des durées comme arguments
(fonction template)