如何在switch语句中执行所有case而不重复现有的大型“all-in-one”情况?执行switch语句中的所有case - 特定问题
例如,
switch(obj.nObjType)
{
case eElephant:
...
break;
case eFoo:
...
break;
case eSeptember:
...
break;
default:
return;
}
欲力执行代码对所有3个例(eElephant, eFoo, eSeptember
)像没有break;
,例如在nObjType = eAllTypes
情况。
您可以将该代码提取到函数中: void processElephant(); void processFoo(); void processSeptember()' 'case eElephant:processElephant();打破; case eFoo:processFoo();打破;默认:processElephant(); processFoo(); break;' – teivaz 2014-09-30 08:15:09
@NirMH几乎总是有另一种方式。而最好的问题很大程度上取决于环境(关于我们在这里什么都不知道)。 – TobiMcNamobi 2014-09-30 08:21:30
所以删除'break.'问题是什么?有什么意义?如果你想执行所有的代码,为什么要有'switch'声明呢? – EJP 2014-09-30 10:47:49