Класс nanoseconds
Класс nanoseconds является специализацией шаблона duration
и представляет интервал времени в наносекундах. Одна наносекунда
равна одной миллиардной доле секунды, то есть 10⁻⁹ секунды.
Этот тип длительности обычно используется для измерения очень
коротких промежутков времени, например, в высокоточных
вычислениях или при работе с системными таймерами.
Класс nanoseconds хранит целочисленное значение количества
наносекунд и позволяет выполнять арифметические операции,
сравнения и преобразования к другим единицам измерения времени.
Синтаксис
std::chrono::nanoseconds ns;
std::chrono::nanoseconds ns(count);
Пример
Давайте создадим объект nanoseconds со значением
1000 наносекунд и выведем его значение:
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
chrono::nanoseconds ns(1000);
cout << ns.count() << endl;
return 0;
}
Результат выполнения кода:
1000
Пример
Давайте выполним арифметические операции с объектами
nanoseconds и выведем результат:
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
chrono::nanoseconds a(500);
chrono::nanoseconds b(300);
chrono::nanoseconds res = a + b;
cout << res.count() << endl;
return 0;
}
Результат выполнения кода:
800
Пример
Давайте преобразуем наносекунды в микросекунды с помощью
duration_cast:
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
chrono::nanoseconds ns(5000);
auto mcs = chrono::duration_cast<chrono::microseconds>(ns);
cout << mcs.count() << endl;
return 0;
}
Результат выполнения кода:
5
Смотрите также
-
класс
duration,
который представляет интервал времени -
метод
count,
который возвращает количество тактов -
класс
microseconds,
который представляет микросекунды -
функция
duration_cast,
которая преобразует длительности