std::literals::chrono_literals::operator""ns
Von cppreference.com
| Definiert in Header <chrono> |
||
| constexpr std::chrono::nanoseconds operator""ns( unsigned long long nsec ); |
(1) | (seit C++14) |
| constexpr std::chrono::duration</*nicht spezifiziert*/, std::nano> operator""ns( long double nsec ); |
(2) | (seit C++14) |
Bildet ein std::chrono::duration Literal, das Nanosekunden repräsentiert.
1) Ganzzahl-Literal, gibt exakt std::chrono::nanoseconds(nsec) zurück.
2) Gleitkomma-Literal, gibt eine Gleitkomma-Dauer zurück, die äquivalent zu std::chrono::nanoseconds ist.
Inhalt |
[bearbeiten] Parameter
| nsec | - | die Anzahl der Nanosekunden |
[bearbeiten] Rückgabewert
Das std::chrono::duration Literal.
[bearbeiten] Mögliche Implementierung
constexpr std::chrono::nanoseconds operator""ns(unsigned long long ns) { return std::chrono::nanoseconds(ns); } constexpr std::chrono::duration<long double, std::nano> operator""ns(long double ns) { return std::chrono::duration<long double, std::nano>(ns); } |
[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 d1{250ns}; std::chrono::nanoseconds d2{1us}; std::cout << d1 << " = " << d1.count() << " nanoseconds\n" << d2 << " = " << d2.count() << " nanoseconds\n"; }
Ausgabe
250ns = 250 nanoseconds 1000ns = 1000 nanoseconds
[bearbeiten] Siehe auch
| erstellt eine neue duration (öffentliche Memberfunktion von std::chrono::duration<Rep,Period>) |