TGViewer
Библиотека C/C++ разработчика | cpp, boost, qt Библиотека C/C++ разработчика | cpp, boost, qt @cppproglib · 16.9K subscribers
Post #6811 1.55K
🍕 Что на самом деле измеряет std::chrono::system_clock?

Если думал, что system_clock — это просто текущее время. На деле это отсчёт от эпохи Unix (1 января 1970 года), и его поведение гораздо сложнее, чем кажется.

⚡️ Когда вы вызываете system_clock::now(), ОС читает значение из аппаратного таймера и возвращает разницу между текущим моментом и эпохой. Эта информация синхронизируется с NTP серверами для корректировки дрейфа кварцевого генератора.

auto now = std::chrono::system_clock::now();
// Внутри: берётся значение из /dev/rtc или Windows' GetSystemTimeAsFileTime()
// И преобразуется в количество тиков с 1970-01-01 00:00:00 UTC


❗️ Критическая деталь: если пользователь выставит неправильное время в системе, system_clock вернёт совершенно неправильное значение. Это не баг, это по дизайну — часы должны отражать реальное время.

Для критичных операций, где важна монотонность, используй steady_clock — он не зависит от системного времени и гарантирует, что каждый следующий вызов вернёт значение больше предыдущего.

💡Вывод: system_clock — это связь приложения с реальным миром через батарейку. Если нужна надёжность, используй другие часы.


✏️ Если хочешь более подробный разбор темы времени в C++ ставь ⚡️ или пиши в комментариях ⤵️


📍Навигация: ВакансииЗадачи Собесы

Библиотека C/C++ разработчика

#под_капотом
  • ⚡ 10
More from @cppproglib
  1. Sep 19, 2026А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tp…
  2. Sep 18, 2026Сегодня последний день регистрации на КосмоХакатон! 18–20 сентября, Петербург, Красноярск…
  3. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  4. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  5. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 13, 2026🤩 Inline static в классах — забудь про .cpp Сколько раз ты забывал добавить определение s…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →