8.19 被误解的关键字:goto

8.19 被误解的关键字:goto

goto的历史争议

劣势

无限制使用goto,特别是往回跳,使程序结构复杂
任何程序都可使用顺序、分支、循环三种结构表示出来

优势

函数内的出错出口的统一处理、指定唯一出口
当多层嵌套时,比break、return更有优势
既能提高效率,也不会破坏程序良好的结构

哪些地方建议使用goto?

  1. 函数出错时的处理
    函数内部模块化设计:将函数主逻辑代码和出错处理部分隔离,
    结构更加清晰
    代码复用:将一个函数多个出口归并为一个总出口
    资源统一处理:内存释放、锁、句柄…

使用注意的一些地方

不要往回跳、只能往前跳
使用goto只能在同一函数内跳转
goto标签一般在两段不同逻辑功能代码的交界处
不能大量使用

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页