⏰ Время в C++: когда простое вычитание может сломать вашу программу

⏰ Время в C++: когда простое вычитание может сломать вашу программу

Казалось бы, что сложного в работе со временем? Берёшь timestamp, вычитаешь другой timestamp — получаешь разницу. Но в C++ всё не так просто.

Пример: вы вычитаете steady_clock::time_point из system_clock::time_point. Что получится? Разница между 1 января 1970 года и... моментом загрузки системы? Или чем-то ещё более абстрактным? 🤷‍♂️

Библиотека <chrono> специально делает такие операции сложными — не из вредности, а чтобы защитить вас от целого класса неуловимых багов. Баги со временем — это те самые баги, которые проявляются только в проде, только по вторникам, и только когда админ решил синхронизировать часы с NTP.

Разберёмся, почему разные часы нельзя просто так сравнивать, как правильно конвертировать между ними, и почему 1499ns вполне может превратиться в 1µs.

👉 Продолжение
Просмотры: 236
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти