kennen:include:chrono
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:include:chrono [2015-01-26 14:41] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== < | ||
+ | Die Bibliothek definiert Typen für [[# | ||
+ | |||
+ | ===== Zeitspannen ===== | ||
+ | Zeitspannen der Schablone '' | ||
+ | Die Typen '' | ||
+ | |||
+ | <code cpp> | ||
+ | #include < | ||
+ | |||
+ | double bilderProTag() | ||
+ | { | ||
+ | using namespace std:: | ||
+ | seconds day = hours(23) + minutes(56) + seconds(4); | ||
+ | milliseconds ms = day; | ||
+ | duration< | ||
+ | return pics.count(); | ||
+ | } | ||
+ | </ | ||
+ | Grundrechenoperationen und Vergleiche erfolgen weitgehend beim Übersetzen. | ||
+ | Die Umrechnung in kleinere Zeitspanne-Einheiten ist immer möglich, umgekehrt jedoch nur in Gleitkommatypen oder durch einen [[..: | ||
+ | <code cpp> | ||
+ | nanoseconds ns = ms; | ||
+ | minutes m = duration_cast< | ||
+ | </ | ||
+ | |||
+ | ===== Uhren ===== | ||
+ | Die Zeitmessung mit einer Uhr geht von einem willkürlich festgelegten Anfangszeitpunkt (Epoche) aus. | ||
+ | Jede Uhrklasse besitzt einen Zahltyp '' | ||
+ | einen Typ für Zeitpunkte '' | ||
+ | die den aktuellen Zeitpunkt als Zeitspanne seit Beginn der Epoche liefert. | ||
+ | |||
+ | Die Uhrtypen '' | ||
+ | Bei '' | ||
+ | |||
+ | Die Auflösegenauigkeit einer Uhr kann weniger als eine Nanosekunde betragen: | ||
+ | <code cpp> | ||
+ | template <class Clock> | ||
+ | double precision_in_nanoseconds() | ||
+ | { | ||
+ | Clock:: | ||
+ | std:: | ||
+ | return ns.count(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Zeitpunkte ===== | ||
+ | Zeitpunkte '' | ||
+ | |||
+ | <code cpp> | ||
+ | template <class Clock> | ||
+ | Clock::rep ticks() | ||
+ | { | ||
+ | typename Clock:: | ||
+ | typename Clock:: | ||
+ | return gone.count(); | ||
+ | } | ||
+ | </ | ||
+ | Die Differenz zweier Zeitpunkte ist die Zeitspanne '' | ||
+ | Zu einem Zeitpunkt lässt sich eine Zeitspanne addieren oder subtrahieren. | ||
+ | Dies liefert wiederum einen Zeitpunkt '' | ||
+ | Vergleiche '' | ||
+ | ===== Umwandlung in Zeitstempel ===== | ||
+ | Die Umwandlung in ein Datum und die Anzeige sind in ''< | ||
+ | Dafür muss auf die Mittel der Bibliothek [[ctime]] und I/ | ||
+ | |||
+ | <code cpp> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | void vorbei() | ||
+ | { | ||
+ | using namespace std:: | ||
+ | system_clock:: | ||
+ | std::time_t t = system_clock:: | ||
+ | | ||
+ | std::cout << " | ||
+ | } | ||
+ | </ | ||
kennen/include/chrono.txt · Zuletzt geändert: 2015-01-26 14:41 von 127.0.0.1