有时必须执行一系列if/else检查.在过去的日子里,goto是为此而准备的沙漠仪器.
由于goto在许多代码风格指南中是禁止的,我有时会使用循环作为替代,例如:
do
{
if (a)
{
doA();
break;
}
//...
if (z)
{
doZ();
break;
}
}while(false);
//all break jump here
Run Code Online (Sandbox Code Playgroud)
这是一个好方法吗?是否有一个好的C++模式(例如使用模板,继承等)来实现它而不需要太多开销?
由于条件似乎无关,else if是一个选项:
if (a) {
doA();
} else if (b) {
//...
} else if (z) {
doZ();
}
Run Code Online (Sandbox Code Playgroud)
通常,对于编写可维护代码,您应该按照预期的方式使用该语言的工具.你对一个循环进行一次循环的循环的使用显然是一个偏差,而不是一开始就皱眉的那套代码风格指南goto.
该语言中提供了一些工具,使您可以更轻松地与其他程序员和您进一步了解您打算在此处做什么.
return语句.一些人也不赞成有趣的早期回报.| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |