我可以将常量定义为float或32位uint:
const float SecondsPerMinute = 60.0F;
或
const uint32 SecondsPerMinute = 60U;
const用于一些期望int和一些期望浮点的方程式。我想让我的编译器和静态分析工具满意,所以我会根据需要将它静态地设置为适当的类型。
将const定义为float并转换为int,或将其定义为int并将其转换为float更好吗?它是否有所作为,或者这更多是个人观点的问题?
让我们说常量使用相同的次数作为int和float。
答案 0 :(得分:11)
模板怎么样:
template <typename T>
constexpr T SecondsPerMinute = T(60);
用法:
std::printf("%d %f", SecondsPerMinute<int>, SecondsPerMinute<double>);