system_clock vertegenwoordigt de systeembrede realtime wandklok. Het wordt beïnvloed door de tijdaanpassingen van het systeem.
steady_clock vertegenwoordigt een monotoon toenemende klok die niet wordt beïnvloed door veranderingen in de systeemtijd.
high_resolutie_klok is de klok met de kortste tikperiode die beschikbaar is op het systeem.
Linux hernoemt map
Aanvullend
Chronobibliotheek wordt gebruikt om met datum en tijd om te gaan. Deze bibliotheek is ontworpen om rekening te houden met het feit dat timers en klokken op verschillende systemen verschillend kunnen zijn en zo in de loop van de tijd qua nauwkeurigheid te verbeteren. Het unieke aan chrono is dat het een precisie-neutraal concept door duur en tijdstip (tijdpunt) te scheiden van specifieke klokken. chrono is de naam van een header en ook van een subnaamruimte: alle elementen in deze header (behalve de common_type-specialisaties) worden niet direct onder de std-naamruimte gedefinieerd (zoals de meeste standaardbibliotheek) maar onder de std::chrono naamruimte . De elementen in deze kop gaan over tijd. Dit gebeurt voornamelijk aan de hand van drie concepten:
Duur
Een duurobject drukt een tijdspanne uit door middel van een telling zoals een minuut, twee uur of tien milliseconden. '42 seconden' zou bijvoorbeeld kunnen worden weergegeven door een duur bestaande uit 42 tikken van een tijdseenheid van 1 seconde.
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 << "duration (in periods): "; std::cout << mil.count() << " milliseconds.n"; std::cout << "duration (in seconds): "; std::cout << (mil.count() * milliseconds::period::num / milliseconds::period::den); std::cout << " seconds.n"; return 0; }
Uitgang:
hoe het csv-bestand in Java te lezen
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.
Klok
Een klok bestaat uit een startpunt (of tijdperk) en een tiksnelheid. Een klok kan bijvoorbeeld een tijdperk van 22 februari 1996 hebben en elke seconde tikken. C++ definieert drie kloktypen:
Tijdpunt
Een time_point-object drukt een tijdstip uit ten opzichte van het tijdperk van een klok. Intern slaat het object een object van een duurtype op en gebruikt het Kloktype als referentie voor zijn tijdperk.
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 < 2) return n; return fibonacci(n-1) + fibonacci(n-2); } int main() { // Using time point and system_clock std::chrono::time_point<std::chrono::system_clock> start end; start = std::chrono::system_clock::now(); std::cout << "f(42) = " << fibonacci(42) << 'n'; end = std::chrono::system_clock::now(); std::chrono::duration<double> elapsed_seconds = end - start; std::time_t end_time = std::chrono::system_clock::to_time_t(end); std::cout << "finished computation at " << std::ctime(&end_time) << "elapsed time: " << elapsed_seconds.count() << "sn"; }
Uitgang:
f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s
Het is belangrijk op te merken dat de precisie en nauwkeurigheid van de klokken en tijdsduur worden geleverd door
git rebase
Quiz maken