<分区>
我想为一个函数实现单一导出点。一种方法是使用变量,并检查条件,如果条件失败,则将变量设置为错误并在函数结束时返回该变量。但是嵌套 if else 会妨碍代码的可读性。
另一种方法是将代码包含在 do {} while(0);
中并在此循环中检查条件,如果条件失败,则将错误设置在变量中并从循环中中断,然后返回错误,这提高了代码的可读性。
那么嵌套 if else 和 do while(0) 哪个更好?
<分区>
我想为一个函数实现单一导出点。一种方法是使用变量,并检查条件,如果条件失败,则将变量设置为错误并在函数结束时返回该变量。但是嵌套 if else 会妨碍代码的可读性。
另一种方法是将代码包含在 do {} while(0);
中并在此循环中检查条件,如果条件失败,则将错误设置在变量中并从循环中中断,然后返回错误,这提高了代码的可读性。
那么嵌套 if else 和 do while(0) 哪个更好?
最佳答案
在 return
语句之前(或之前某处)使用带有单个标签的 goto
语句怎么样?
//...
// if (...)
goto exit_func;
//...
// if (...)
goto exit_func;
//...
// if (...)
goto exit_func;
//...
exit_func:
// do some common stuff before leaving the function (e.g.: releasing resources)
// ...
return;
关于c - do while(0) or if else 哪一个适合单一导出点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064926/