do{}while(0)语句的巧妙用法

do…while有一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。

do…while(0)消除goto语句

通常,如果在一个函数中开始要分配一些资源,然后在中途执行过程中如果遇到错误则退出函数,当然,退出前先释放资源,我们的代码可能是这样:

这样的代码运行起来自然是没有什么问题的,只是代码太过于冗余了。为了避免这个问题,我们可以考虑使用goto语句:

代码冗余是消除了,但是我们引入了C++中身份比较微妙的goto语句,虽然正确的使用goto可以大大提高程序的灵活性与简洁性,但太灵活的东西往往是很危险的,它会让我们的程序捉摸不定(所以在C++中强烈建议少用或是不用goto语句),那么怎么才能避免使用goto语句,又能消除代码冗余呢?请看do…while(0)循环:

 

未经允许不得转载:TacuLee » do{}while(0)语句的巧妙用法

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址