Бросить поплавок в int, или int в float?


Я могу определить константу либо как float, либо как 32-разрядный uint:

const float SecondsPerMinute = 60.0F;

Или

const uint32 SecondsPerMinute = 60U;

Const используется в некоторых уравнениях, которые ожидают int, и в некоторых уравнениях, которые ожидают float. Я хочу сделать мой компилятор и инструменты статического анализа счастливыми, поэтому я буду static_cast его к соответствующему типу по мере необходимости.

Лучше ли определить const как float и привести его к int, или определить его как int и привести его к float? Имеет ли это значение, или это больше имеет значение личного мнения?

Предположим, что константа используется равное число раз как int и как float.
1 4

1 ответ:

Как насчет шаблона:

template <typename T>
constexpr T SecondsPerMinute = T(60);

Использование:

std::printf("%d %f", SecondsPerMinute<int>, SecondsPerMinute<double>);