将float转换为int,或将int转换为float?

C. *_*orb 4 c++ const static-cast

我可以将常量定义为float或32位uint:

const float SecondsPerMinute = 60.0F;
Run Code Online (Sandbox Code Playgroud)

要么

const uint32 SecondsPerMinute = 60U;
Run Code Online (Sandbox Code Playgroud)

const用在某些方程中,这些方程期望int和一些期望浮点的方程.我想让我的编译器和静态分析工具开心,所以我会根据需要将它静态地设置为适当的类型.

将const定义为float并转换为int,或将其定义为int并将其转换为float更好吗?它是否有所作为,或者这更多是个人观点的问题?

假设常量使用相同的次数作为int和float.

Ker*_* SB 11

模板怎么样:

template <typename T>
constexpr T SecondsPerMinute = T(60);
Run Code Online (Sandbox Code Playgroud)

用法:

std::printf("%d %f", SecondsPerMinute<int>, SecondsPerMinute<double>);
Run Code Online (Sandbox Code Playgroud)