duration_cast, сохраняя длину интервала. Если новый тик шире старого, дробная часть не сохраняется.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpTmDc 326 of 696 menu
◀ ▶

Приведение длительности в C++

Шаг тика меняет duration_cast, сохраняя длину интервала.

Если новый тик шире старого, дробная часть не сохраняется: для отрицательных значений результат сдвигается к нулю, а не к минус бесконечности. Запишем секунды, приведем к минутам и выведем счетчик:

#include <chrono> #include <iostream> std::chrono::seconds span{125}; std::chrono::minutes as_min = std::chrono::duration_cast<std::chrono::minutes>(span); std::cout << as_min.count() << "\n";

Для 125 секунд получится 2 минуты, потому что 2 минуты покрывают 120 секунд, а оставшиеся секунды отбрасываются при смене единицы.

Объявите std::chrono::seconds gap со значением 200. Приведите gap к std::chrono::minutes и выведите count.

Запишите std::chrono::seconds back равным -95. Переведите в std::chrono::minutes через std::chrono::duration_cast и выведите счетчик минут.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить