logo

Chrono v C++

je hlavička C++, ktorá poskytuje kolekciu typov a funkcií na prácu s časom. Je súčasťou C++ Standard Template Library (STL) a je súčasťou C++11 a novších verzií.

poskytuje tri hlavné typy hodín: system_clock steady_clock a high_resolution_clock. Tieto hodiny sa používajú na meranie času rôznymi spôsobmi.

system_clock predstavuje nástenné hodiny v reálnom čase pre celý systém. Je to ovplyvnené úpravami času systému.
steady_clock predstavuje monotónne rastúce hodiny, ktoré nie sú ovplyvnené zmenami systémového času.
high_resolution_clock sú hodiny s najkratšou dobou tikania, ktorá je v systéme k dispozícii.



java webové služby

tiež poskytuje kolekciu typov trvania vrátane trvaniaktoré možno použiť na vyjadrenie trvania času. Rep je typ reprezentácie (napríklad int alebo long) a Period je pomer trvania (napríklad nanosekundy alebo sekundy).
Okrem tohoposkytuje kolekciu typov časových bodov vrátane time_pointktoré možno použiť na vyjadrenie časového bodu. Hodiny sú typ hodín (napríklad systémové_hodiny) a Trvanie je typ trvania (napríklad sekundy)

Knižnica Chrono sa používa na spracovanie dátumu a času. Táto knižnica bola navrhnutá tak, aby sa zaoberala skutočnosťou, že časovače a hodiny sa môžu v rôznych systémoch líšiť, a preto sa časom zlepšila z hľadiska presnosti. Jedinečná vec na chrono je, že poskytuje a presne neutrálny koncept oddelením trvania a časového bodu (časového bodu) od konkrétnych hodín. chrono je názov hlavičky a tiež sub-namespace: Všetky prvky v tejto hlavičke (okrem špecializácií common_type) nie sú definované priamo pod std namespace (ako väčšina štandardnej knižnice), ale pod std::chrono menný priestor . Prvky v tejto hlavičke sa zaoberajú časom. Deje sa to hlavne pomocou troch konceptov:

Trvanie

Objekt trvania vyjadruje časové rozpätie pomocou počtu minút, dvoch hodín alebo desať milisekúnd. Napríklad „42 sekúnd“ by mohlo byť reprezentované trvaním pozostávajúcim zo 42 tiknutí 1-sekundovej časovej jednotky. 

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

výstup:

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

Hodiny

Hodiny sa skladajú z počiatočného bodu (alebo epochy) a rýchlosti tikania. Napríklad hodiny môžu mať epochu 22. februára 1996 a tikať každú sekundu. C++ definuje tri typy hodín:

linkedlist a arraylist
    systémové_hodiny-Je to aktuálny čas podľa systému (bežné hodiny, ktoré vidíme na paneli nástrojov počítača). Zapisuje sa ako std::chrono::system_clocksteady_clock-Sú to monotónne hodiny, ktoré sa nikdy nebudú nastavovať. Idú rovnomerne. Zapisuje sa ako std::chrono::steady_clockhodiny s vysokým rozlíšením- Poskytuje najmenšiu možnú periódu kliešťa. Zapisuje sa ako-std::chrono::high_resolution_clock

Časový bod

Objekt time_point vyjadruje časový bod vzhľadom na epochu hodín. Interne objekt ukladá objekt typu trvania a používa typ hodín ako referenciu pre svoju epochu.  

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

výstup:

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

Je dôležité poznamenať, že presnosť a presnosť hodín a trvania poskytujesa môže líšiť v závislosti od systému a platformy a vždy je dobré skontrolovať dokumentáciu vašej platformy, kde nájdete ďalšie informácie.

zoznam java

Vytvoriť kvíz