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

时间:2014-05-16 20:07:42

标签: c++ optimization switch-statement

在我的代码中我有

switch (cd->op)
{
...
}

我想知道我是否应该

CalcWizConsts::eqOps thisOp = cd->op;
switch (thisOp)
{
...
}

1 个答案:

答案 0 :(得分:8)

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