您的位置:首页 > 编程语言 > Go语言

do while(0)的另一个用途:消除goto语句

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

version3

bool Execute()

{

// 分配资源

int *p = new int;

bool bOk(true);

do

{

// 执行并进行错误处理

bOk = func1();

if(!bOk) break;

bOk = func2();

if(!bOk) break;

bOk = func3();

if(!bOk) break;

// ..........

}while(0);

// 释放资源

delete p;

p = NULL;

return bOk;



}

我的个人评论:do while(0)在此处确实妙,但是, 用goto未尝不可, 不要将goto鄙视得一无是处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: