Создавая класс Timer, какой тип данных я должен использовать для хранения значений? (C / C ++)

Я создаю простой класс таймера, который возвращает меня, например. текущее время в миллис. В Linux я использую gettimeofday. Мне интересно, какой тип возврата должна иметь эта функция. то есть
double getMillis() или же uint64_t getMillis() итд … я бы сказал uint64_t может содержать большие значения и поэтому рекомендуется, хотя во время поиска в Google я вижу много разных реализаций.

Любой совет по этому поводу?

Спасибо

0

Решение

Мой рекомендуемый тип данных для хранения меток абсолютного времени в миллисекундах — int64_t, главным образом потому, что time_t подписано.

2

Другие решения

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

1

По вопросам рекламы [email protected]