首页 > 代码库 > C++:为什么说 goto 没有用
C++:为什么说 goto 没有用
要了解一个功能有没有用,首先应该分析它能实现的所有功能。
goto 可以实现的功能只有两种:一,向前面跳;二,向后面跳。这两种情况对应三种功能:一,重复执行也就是循环;二,跳过一段代码也就是条件判断;三,跳过一段循环代码也就是跳出循环。既然已经有了类似 while 等的循环体系,又有类似 if..else 等的条件判断,又有类似 break 等的跳出循环,自然像 goto 这样不够严密又麻烦的设计就因为功能被完全覆盖而淘汰了。
实际上 goto 应该是这些所有覆盖它的功能的功能体系的老祖,包含一切可能,只是由于功能太多分类不明确,导致使用不方便所以被分别替换掉了。从机器代码的本质上来说,一切功能实现的原始形式就是代码的跳转。
唯一有所不同的是,if..else 是额外添加的功能,只是通过它本身的选择性跳转机制,也包括了 goto 的跳转功能。goto 本身也依赖 if 这个额外添加的判断功能。
C++:为什么说 goto 没有用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。