Namensräume
Varianten
Aktionen

std::chrono::duration::duration

Aus cppreference.com
< cpp‎ | chrono‎ | duration
 
 
 
 
std::chrono::duration
Member-Funktionen
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
duration::duration
duration::operator=
duration::count
duration::zero
duration::min
duration::max
duration::operator+
duration::operator-
duration::operator++
duration::operator--
duration::operator+=
duration::operator-=
duration::operator*=
duration::operator/=
duration::operator%=
Non-Member-Funktionen
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
common_type
operator+
operator-
operator*
operator/
operator%
operator==
operator!=
operator<
operator<=
operator>
operator>=
duration_cast
Helper-Klassen
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
treat_as_floating_point
duration_values
 
constexpr duration() = default;
(1)
duration(const duration&) = default;
(2)
template <class Rep2>
constexpr explicit duration(const Rep2& r);
(3)
template <class Rep2, class Period2>
constexpr duration(const duration<Rep2, Period2>& d);
(4)

Ein Konstruktor erzeugt eine neue Zeitdauer duration aus einer von mehreren optional Quellen.

1) Der Standardkonstruktor wird standardmäßig vom Kompiler erzeugt.
2) Der Kopierkonstruktor wird standardmäßig vom Kompiler erzeugt, d.h. es wird eine bitweise Kopie der Taktanzahl gemacht.
3) Dieser Konstruktor erzeugt eine Zeitdauer mit r Zeitschritten. Beachten Sie, dass dieser Konstruktor nur an der Überladungsauflösung beteiligt ist, falls Rep2 (der Argumenttyp) implizit konvertierbar nach rep (Typ der Zeitschrittweitendauer) ist und
(d.h. das eine Zeitdauer mit einer ganzen Zahl als Taktanzahl nicht von einem Gleitkommawert konstruiert werden kann, aber eine Dauer mit einer Gleitkommanzahl als Taktanzahl kann aus einem Ganzzahlwert konstruiert werden.)
4) Dieser Konstruktor erzeugt eine Zeitdauer durch Umwandlung von d in einen anwendbaren Zeitraum mit angepasster Anzahl der Zeitschritte. Dieses ist äquivalent zu std::chrono::duration_cast<duration>(d).count(). Um das Abschneiden bei der Konvertierung zu verhindern, ist dieser Konstruktor nur bei der Überladungsauflösung beteiligt, falls
oder beides:
(d.h. entweder die Zeitdauer verwendet eine Gleitkommazahl als Zeitschrittweite oder Period2 ist ohne Rest teilbar durch Periode)

[Bearbeiten] Parameter

r - eine Taktanzahl
d - die Zeitdauer, die kopiert werden soll.

[Bearbeiten] Beispiel

Der folgende Quellkode zeigt einige Beispiele (sowohl gültige als auch ungültige) wie Zeitdauern erzeugt werden können.

#include <chrono>
int main()
{
    std::chrono::hours h(1); // one hour
    std::chrono::milliseconds ms{3}; // 3 milliseconds
    std::chrono::duration<int, std::kilo> ks(3); // 3000 seconds
 
    // error: treat_as_floating_point<int>::value == false,
    // This duration allows whole tick counts only
//  std::chrono::duration<int, std::kilo> d3(3.5);
 
    // 30Hz clock using fractional ticks
    std::chrono::duration<double, std::ratio<1, 30>> hz30(3.5);
 
    // 3000 microseconds constructed from 3 milliseconds
    std::chrono::microseconds us = ms;
    // error: 1/1000000 is not divisible by 1/1000
//  std::chrono::milliseconds ms2 = us
}


[Bearbeiten] Siehe auch

weist Inhalte zu.
(öffentliche Elementfunktion) [edit]