logo

Chrono valodā C++

ir C++ galvene, kas nodrošina veidu un funkciju kolekciju, lai strādātu ar laiku. Tā ir daļa no C++ standarta veidņu bibliotēkas (STL), un tā ir iekļauta C++11 un jaunākās versijās.

nodrošina trīs galvenos pulksteņu veidus: system_clock steady_clock un high_resolution_clock. Šie pulksteņi tiek izmantoti laika mērīšanai dažādos veidos.

system_clock apzīmē visas sistēmas reāllaika sienas pulksteni. To ietekmē sistēmas laika pielāgojumi.
steady_clock ir monotoni pieaugošs pulkstenis, ko neietekmē sistēmas laika izmaiņas.
high_resolution_clock ir pulkstenis ar īsāko sistēmā pieejamo tikšanās periodu.



linux faili

nodrošina arī ilguma veidu kolekciju, tostarp ilgumuko var izmantot, lai attēlotu laika ilgumu. Rep ir attēlojuma veids (piemēram, int vai long), un Period ir ilguma attiecība (piemēram, nanosekundes vai sekundes).
Turklātnodrošina laika punktu veidu kolekciju, tostarp laika_punktsko var izmantot, lai attēlotu laika punktu. Pulkstenis ir pulksteņa veids (piemēram, system_clock), un ilgums ir ilguma veids (piemēram, sekundes).

Chrono bibliotēka tiek izmantota, lai apstrādātu datumu un laiku. Šī bibliotēka tika izstrādāta, lai novērstu faktu, ka taimeri un pulksteņi dažādās sistēmās var atšķirties, un tādējādi laika gaitā uzlabotu precizitāti. Chrono unikālā lieta ir tā, ka tas nodrošina a precizitātes neitrāla koncepcija, atdalot ilgumu un laika punktu (laika punktu) no konkrētiem pulksteņiem. chrono ir galvenes un arī apakšnosaukumvietas nosaukums: visi elementi šajā galvenē (izņemot special_type specializācijas) nav definēti tieši zem standarta nosaukumvietas (tāpat kā lielākā daļa standarta bibliotēkas), bet gan std::chrono nosaukumvieta . Šīs galvenes elementi attiecas uz laiku. Tas tiek darīts galvenokārt, izmantojot trīs koncepcijas:

Ilgums

Ilguma objekts izsaka laika posmu, skaitot, piemēram, minūti divas stundas vai desmit milisekundes. Piemēram, “42 sekundes” var attēlot ar ilgumu, kas sastāv no 42 atzīmēm 1 sekundes laika vienībā. 

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; } 

Izvade:

duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.

Pulkstenis

saglabāt youtube video vlc

Pulkstenis sastāv no sākuma punkta (vai laikmeta) un tikšanās ātruma. Piemēram, pulkstenim var būt 1996. gada 22. februāra laikmets, un tas var atzīmēt katru sekundi. C++ definē trīs pulksteņu veidus:

    sistēmas_pulkstenis-Tas ir pašreizējais laiks saskaņā ar sistēmu (parastais pulkstenis, ko mēs redzam datora rīkjoslā). Tas ir uzrakstīts kā-std::chrono::system_clocksteady_clock-Tas ir monotons pulkstenis, kas nekad netiks noregulēts. Tas darbojas vienmērīgā ātrumā. Tas ir uzrakstīts kā-std::chrono::steady_clockaugstas_izšķirtspējas_pulkstenis- Tas nodrošina mazāko iespējamo tikšanās periodu. Tas ir uzrakstīts kā-std::chrono::high_resolution_clock

Laika punkts

Objekts time_point izsaka laika punktu attiecībā pret pulksteņa laikmetu. Objekts iekšēji saglabā ilguma tipa objektu un izmanto veidu Pulkstenis kā atsauci savam laikmetam.  

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"; } 

Izvade:

f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s

Ir svarīgi atzīmēt, ka pulksteņu un ilgumu precizitāte un precizitāte, ko nodrošinavar atšķirties atkarībā no sistēmas un platformas, un vienmēr ir ieteicams pārbaudīt savas platformas dokumentāciju, lai iegūtu plašāku informāciju.

java saraksta lodziņš

Izveidojiet viktorīnu