"abuse" 循环作为 goto 是常见的做法吗

Is it common practice to "abuse" loops as goto

如果代码中有很多 if 子句并且代码的执行对先前的错误不敏感,是否可以为此使用单周期循环?仅仅是为了能够休息一下离开街区吗? 像这样:

do {
    //..code
    if (error1) break;
    //..code
    if (errorN) break;
    //do finally something when no errors before
} while (false);

是的,这是避免深度嵌套的常用技术,实际上比 goto; 更可取。

从可读性的角度来看,它比 goto 语句更好。循环的作用域和代码流定义明确,不需要查找goto语句对应的标签,下面不一定出现。

是的,这是惯用的,即使它可能不是 do while 循环的预期用途。 linux 内核的源代码利用了这一点。

没有什么不清楚的:while(false) 完全按照罐头上所说的去做。