c++ 巧用 do...while.false

警告
本文最后更新于 2021-07-12,文中内容可能已过时。

今天看代码发现一个比较巧妙的方法,可以参考 SO 链接

对比两个 c++ 代码段

1
2
3
4
5
do {
   // code
   if (condition) break; // or continue
   // more code
} while(false);

完爆一下的 goto

1
2
3
4
5
6
{
   // code
   if (condition) goto end;
   // more code
}
end:

do{...}while(false);提供了提前退出的机制,可以替代臭名昭著的 goto 语法,实现在一个代码段内进行判断与退出的巧妙机制。

可以参考以下的这篇文章,讲解的更加清晰:

相关内容

william 支付宝支付宝
william 微信微信
0%