我有一个简单的常量,我喜欢在运行时评估它的值(或者如果你建议更好的方法)。
inline float deg_to_rad(float p_y) {
return p_y * static_cast<float>(Math_PI) / 180.f;
}
class TEST {
public:
const float _MOVEMENT_ = deg_to_rad(90);
}
有更好的方法吗?
使用函数不需要将计算移至运行时。只需将
constexpr
添加到函数中,它就会在编译时运行。
const float _MOVEMENT_ = deg_to_rad(90);
,
constexpr
也可以使用您现在拥有的功能。
但建议:
使其
static
在类的所有实例之间共享它。
Make it
constexpr
(让事情变得更容易)
重命名,使其不使用保留标识符(任何以
_[A-Z]
开头或包含 __
的标识符都被保留)。
不要用大写字母命名它,因为它不是一个宏(C/C++ 按照惯例使用大写字母表示宏,其他语言倾向于将它用于常量,因为 C 宏经常被用作常量,但在我看来,画一个完整的圆圈是很奇怪的将其用于 C/C++ 中的所有常量)。
类名相同。
总的来说,您最终会得到
static constexpr movement = deg_to_rad(90);
。