实际上,goto
如果可能的话,最好避免使用,并相信编译器会为您进行优化.即使在你的情况下也有一个替代方案,它避免了代码重复:
/*possibly inline*/ void foo(/*pass necessary parameters*/) { switch(command[0].cmd){ case 0: // turn off s::s_off(); break; case 1: // turn on s::s_on(); break; case 4: // nop return; } S_time = command[0].length; }