Методы SystemTime стали const — арифметика времени на этапе компиляции

13.08.2025

Часть методов SystemTime помечена как const. Поскольку у типа есть константа UNIX_EPOCH, из неё можно строить другие опорные точки и считать интервалы во время компиляции.

Почему SystemTime, а не Instant

Автор отмечает, что те же арифметические методы теоретически можно было бы сделать const и у Instant, но у него нет конструктора, доступного в константном контексте, — считать там нечего. У SystemTime ситуация другая: UNIX_EPOCH позволяет задать точку отсчёта и вычислять от неё, например длительность стандартного периода в константах.

Работа вынесена отдельно от остальных const-изменений, потому что затрагивает нетривиальный системный код. Автор — clarfonthey.

Оригинал

Constify SystemTime methods

Упоминаний: 1 · Просмотров: 1