std::literals::chrono_literals::operator""h
Von cppreference.com
| Definiert in Header <chrono> |
||
| constexpr std::chrono::hours operator""h( unsigned long long hrs ); |
(1) | (seit C++14) |
| constexpr std::chrono::duration</*nicht spezifiziert*/, std::ratio<3600,1>> operator""h( long double hrs ); |
(2) | (seit C++14) |
Erzeugt ein std::chrono::duration Literal, das Stunden repräsentiert.
1) Ganzzahl-Literal, gibt exakt std::chrono::hours(hrs) zurück.
2) Fließkomma-Literal, gibt eine Fließkomma-Dauer zurück, die äquivalent zu std::chrono::hours ist.
Inhalt |
[bearbeiten] Parameter
| hrs | - | Die Anzahl der Stunden. |
[bearbeiten] Rückgabewert
Das std::chrono::duration Literal.
[bearbeiten] Mögliche Implementierung
constexpr std::chrono::hours operator""h(unsigned long long h) { return std::chrono::hours(h); } constexpr std::chrono::duration<long double, ratio<3600,1>> operator""h(long double h) { return std::chrono::duration<long double, std::ratio<3600,1>>(h); } |
[bearbeiten] Anmerkungen
Dieser Operator wird im Namensraum std::literals::chrono_literals deklariert, wobei sowohl literals als auch chrono_literals Inline-Namensräume sind. Der Zugriff auf diesen Operator kann über
- using namespace std::literals,
- using namespace std::chrono_literals, oder
- using namespace std::literals::chrono_literals.
erfolgen. Zusätzlich wird im Namensraum std::chrono durch die Standardbibliothek die Direktive using namespace literals::chrono_literals; bereitgestellt, sodass, wenn ein Programmierer using namespace std::chrono; verwendet, um Zugriff auf die Klassen der Chrono-Bibliothek zu erhalten, auch die entsprechenden Literaloperatoren sichtbar werden.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; auto day = 24h; auto halfhour = 0.5h; std::cout << "one day is " << day.count() << " hours (" << day << ")\n" << "half an hour is " << halfhour.count() << " hours (" << halfhour << ")\n"; }
Ausgabe
one day is 24 hours (24h) half an hour is 0.5 hours (0.5h)
[bearbeiten] Siehe auch
| erstellt eine neue duration (öffentliche Memberfunktion von std::chrono::duration<Rep,Period>) |