system_clock представляє загальносистемний настінний годинник реального часу. На це впливає налаштування часу системи.
steady_clock представляє монотонно зростаючий годинник, на який не впливають зміни системного часу.
high_resolution_clock — це годинник із найкоротшим доступним у системі періодом такту.
приклад списку в java
Додатково
Бібліотека Chrono використовується для роботи з датою та часом. Цю бібліотеку було розроблено, щоб врахувати той факт, що таймери та годинники можуть відрізнятися в різних системах, і, таким чином, з часом покращувати точність. Унікальність хроно полягає в тому, що він забезпечує a концепція нейтральної точності, відокремлюючи тривалість і момент часу (точку часу) від конкретних годинників. chrono — це назва заголовка, а також підпростору імен: усі елементи в цьому заголовку (крім спеціалізацій common_type) не визначені безпосередньо в просторі імен std (як більшість стандартної бібліотеки), а під простір імен std::chrono . Елементи в цьому заголовку стосуються часу. Це робиться в основному за допомогою трьох концепцій:
Тривалість
список держав
Об’єкт тривалості виражає проміжок часу за допомогою відліку, наприклад, хвилина, дві години або десять мілісекунд. Наприклад, «42 секунди» можуть бути представлені тривалістю, яка складається з 42 тактів одиниці часу в 1 секунду.
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; }
Вихід:
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.
Годинник
Годинник складається з початкової точки (або епохи) і тактової частоти. Наприклад, годинник може мати епоху 22 лютого 1996 року і цокати щосекунди. C++ визначає три типи годинника:
Точка часу
Об’єкт time_point виражає момент часу відносно епохи годинника. Внутрішньо об’єкт зберігає об’єкт типу тривалості та використовує тип Clock як посилання на свою епоху.
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"; }
Вихід:
f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s
Важливо відзначити, що точність і точність годинників і тривалості, надані
перевертання рядка в java
Створіть вікторину