Chrono C++ nyelven
system_clock a rendszerszintű valós idejű falióra. Ezt a rendszer időbeállításai befolyásolják.
A steady_clock egy monoton növekvő órajel, amelyet nem befolyásolnak a rendszeridő változásai.
A high_resolution_clock a rendszeren elérhető legrövidebb ketygési periódusú óra.
Továbbá
A Chrono könyvtár a dátum és az idő kezelésére szolgál. Ezt a könyvtárat úgy tervezték, hogy kezelje azt a tényt, hogy az időzítők és az órák eltérőek lehetnek a különböző rendszerekben, és így idővel a pontosság javulása érdekében. A chrono egyedülálló tulajdonsága, hogy a precíziós-semleges koncepció az időtartam és az időpont (időpont) elválasztásával meghatározott óráktól. A chrono egy fejléc és egy al-névtér neve: A fejléc összes eleme (a common_type specializációk kivételével) nem közvetlenül az std névtér alatt van definiálva (mint a legtöbb szabványos könyvtárban), hanem a std::chrono névtér . A fejlécben szereplő elemek az idővel foglalkoznak. Ez főként három fogalom segítségével történik:
Időtartam
Az időtartam objektum egy időintervallumot fejez ki, például egy perc, két óra vagy tíz milliszekundum. Például a „42 másodperc” egy 1 másodperces időegység 42 jelöléséből álló időtartammal is ábrázolható.
CPP // C++ program to illustrate the utility // function duration::count #include #include int main () { using namespace std :: chrono ; // std::chrono::milliseconds is an // instantiation of std::chrono::duration:- 1 second milliseconds mil ( 1000 ); mil = mil * 60 ; std :: cout & lt ; & lt ; & quot ; duration ( in periods ) : & quot ;; std :: cout & lt ; & lt ; mil . count () & lt ; & lt ; & quot ; milliseconds . n & quot ;; std :: cout & lt ; & lt ; & quot ; duration ( in seconds ) : & quot ;; std :: cout & lt ; & lt ; ( mil . count () * milliseconds :: period :: num / milliseconds :: period :: den ); std :: cout & lt ; & lt ; & quot ; seconds . n & quot ;; return 0 ; }
Kimenet:
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.
Óra
Az óra egy kezdőpontból (vagy korszakból) és egy ketyegésből áll. Például egy óra korszaka 1996. február 22-e lehet, és másodpercenként ketyeg. A C++ három óratípust határoz meg:
Időpont
A time_point objektum egy időpontot fejez ki az óra korszakához képest. Belsőleg az objektum egy időtartam típusú objektumot tárol, és az Óra típust használja referenciaként a korszakához.
CPP // C++ program to illustrate time point // and system clock functions #include #include #include // Function to calculate // Fibonacci series long fibonacci ( unsigned n ) { if ( n & lt ; 2 ) return n ; return fibonacci ( n -1 ) + fibonacci ( n -2 ); } int main () { // Using time point and system_clock std :: chrono :: time_point & lt ; std :: chrono :: system_clock & gt ; start end ; start = std :: chrono :: system_clock :: now (); std :: cout & lt ; & lt ; & quot ; f ( 42 ) = & quot ; & lt ; & lt ; fibonacci ( 42 ) & lt ; & lt ; 'n' ; end = std :: chrono :: system_clock :: now (); std :: chrono :: duration & lt ; double & gt ; elapsed_seconds = end - start ; std :: time_t end_time = std :: chrono :: system_clock :: to_time_t ( end ); std :: cout & lt ; & lt ; & quot ; finished computation at & quot ; & lt ; & lt ; std :: ctime ( & amp ; end_time ) & lt ; & lt ; & quot ; elapsed time : & quot ; & lt ; & lt ; elapsed_seconds . count () & lt ; & lt ; & quot ; s n & quot ;; }
Kimenet:
f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s
Fontos megjegyezni, hogy az órák és időtartamok pontossága és pontossága által biztosított
Kvíz létrehozása
Lehet, Hogy Tetszeni Fog
Top Cikkek
Kategória
Érdekes Cikkek