是否值得用常量替换开关中的参数?

use*_*533 1 c++ optimization switch-statement

在我的代码中我有

switch (cd->op)
{
...
}
Run Code Online (Sandbox Code Playgroud)

而且我想知道我是否应该这样做

CalcWizConsts::eqOps thisOp = cd->op;
switch (thisOp)
{
...
}
Run Code Online (Sandbox Code Playgroud)

Med*_*o42 8

该参数switch只会被评估一次,所以不需要先将它存储在临时的中.没有性能差异,您也不必担心更改其中一个case子句中的值.我可以考虑首先分配给变量的唯一原因是,如果表达式很长,则使代码更具可读性.