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

时间:2016-05-31 12:38:57

标签: c++ const static-cast

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

const float SecondsPerMinute = 60.0F;

const uint32 SecondsPerMinute = 60U;

const用于一些期望int和一些期望浮点的方程式。我想让我的编译器和静态分析工具满意,所以我会根据需要将它静态地设置为适当的类型。

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

让我们说常量使用相同的次数作为int和float。

1 个答案:

答案 0 :(得分:11)

模板怎么样:

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

用法:

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