Freigeben über


duration::duration-Konstruktor

Erstellt ein duration-Objekt.

constexpr duration();
template<class Rep2>
    constexpr explicit duration(const Rep2& R);
template<class Rep2, class Period2>
    constexpr duration(const duration<Rep2, Period2>& Dur);

Hinweise

Vom ersten Konstruktor wird ein Objekt erstellt, das ein Zeitintervall von null (0)Teilstrichen darstellt.

Vom zweiten Konstruktor wird ein Objekt erstellt, das ein Zeitintervall von R Teilstrichen darstellt. Um das Abrunden der Taktanzahl zu vermeiden, ist das Erstellen eines Dauerobjekts des Darstellungstyps Rep2, das als Gleitkommatyp behandelt werden kann, wenn duration::rep nicht als Gleitkommatyp behandelt werden kann, ein Fehler.

Vom dritten Konstruktor wird ein Objekt erstellt, das ein Zeitintervall darstellt, dessen Länge das von Dur angegebene Zeitintervall ist. Um die Verkürzung von Taktanzahlen zu vermeiden, ist das Erstellen eines Dauerobjekts aus einem anderen Dauerobjekt, dessen Typ mit dem Zieltyp unvergleichbar ist, ein Fehler.

Ein D1-Dauertyp mit einem anderen D2-Dauertyp unvergleichbar, wenn D2 nicht als ein Gleitkommatyp behandelt werden kann und ratio_divide<D1::period, D2::period>::type::den nicht 1 ist.

Es sei denn, treat_as_floating_point<Rep>beinhaltet true und treat_as_floating_point<Rep2>beinhaltet false, wird der zweite Konstruktor nicht an der Überladungsauflösung beteiligt. Weitere Informationen finden Sie unter <type_traits>.

Es sei denn, treat_as_floating_point<Rep>beinhaltet true und treat_as_floating_point<Rep2> beide oder ratio_divide<Period2, period>::den /1 und treat_as_floating_point<Rep2>beinhaltet false, akzeptiert der dritte Konstruktor nicht an der Überladungsauflösung beteiligt. Weitere Informationen finden Sie unter <type_traits>.

Anforderungen

Header: chrono

Namespace: std::chrono

Siehe auch

Referenz

duration-Klasse

<chrono>

treat_as_floating_point-Struktur