在魔术数字上不需要命名常量的情况

Ano*_*ous 1 c++

显然,使用命名常量而非幻数的要点是代码清晰度,并且不必遍历代码更改数字.

但是,如果你在一个函数中只使用一次数字,你会怎么做?假设您有一个使用对象速度(我们会说不会改变)的短成员函数来计算它的运动,但这是使用该速度的唯一函数.你会...

A)给类一个命名的静态常量来使用

B)在函数中放入一个命名常量

C)使用幻数但注释它

D)其他......

我倾向于使用一个神奇的数字,并且如果该数字仅仅被使用,则评论它,但我想听听别人的想法.

编辑:将命名常量放在一个多次调用的函数中并赋值给它有性能影响吗?如果确实如此,我猜最好的方法是将常量放在命名空间中或使其成为类变量等.

GMa*_*ckG 5

只需将其移动:

void do_something(void)
{
    const float InitialVelocity = 5.0f;

    something = InitialVelocity;
    // etc.
}
Run Code Online (Sandbox Code Playgroud)