В C++ std::time_t и std::chrono::time_point — это классы для хранения даты и времени. Эффективно ли использовать time_point для хранения времени. Кажется, что time_point поддерживает больше функций, будет ли он менее эффективен при его использовании по сравнению с time_t? Насколько велик размер памяти экземпляра time_point? Каков размер экземпляра time_t?
Эффективность использования time_t и time_point в C++
Ответы (1)
Эффективно ли использовать time_point для хранения времени.
Да, он просто содержит одно числовое значение.
Кажется, что time_point поддерживает больше функций, будет ли он менее эффективен при его использовании по сравнению с time_t?
Почему ты так думаешь? Невиртуальные функции не увеличивают размер объекта, а простые должны быть встроены, чтобы они были столь же эффективны, как и непосредственное обращение с числовым значением.
Насколько велик размер памяти экземпляра
time_point
?
Того же размера, что и числовой тип, который вы сказали использовать. Вероятно, 64 бита, если вы использовали один из удобных типов длительности, например seconds
. Свяжитесь с sizeof
, если это имеет значение.
Каков размер экземпляра time_t?
Не указано, обычно 32 или 64 бита. Свяжитесь с sizeof
, если это имеет значение. Если это 32, то вы можете столкнуться с проблемами через пару десятилетий.
time_point
, что это становится узким местом памяти? - person The Paramagnetic Croissant   schedule 11.03.2015time_point
, см. по адресу: howardhinnant.github.io/date_v2.html - person Howard Hinnant   schedule 28.03.2015