Modernes C++ programmieren

Okt 23, 2024

lst-0936-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/qrs63vdz1 
#include <chrono>
#include <iostream>
int main() {
    using namespace std::chrono;             // Suffixe erlauben
    seconds mySecs = 121s;                   // seconds{121}
    std::cout << mySecs.count() << "s\n";    // Ausgabe: 121s
    milliseconds myMillis = mySecs;          // automatisch umgewandelt
    std::cout << myMillis.count() << "ms\n"; // Ausgabe: 121000ms
    nanoseconds myNanos = mySecs;
    std::cout << myNanos.count() << "ns\n"; // Ausgabe: 121000000000ns
    minutes myMinutesErr = mySecs;          //                     (ERR)  Fehler: Konvertierung mit Verlust
    minutes myMinutes = duration_cast<minutes>(mySecs); // explizit geht's
    std::cout<<myMinutes.count()<<"min\n";  // Ausgabe: 2min
}