c++ - 除了向后兼容性之外,还有什么理由 C++20 仍然包含 goto 作为语句?
问题描述
我想补充一下,您知道将来是否有打算将其删除吗?
是不是因为当您编写低级代码(例如,可能混合 C++ 和汇编程序)时,它不是一个妖魔化的声明?
解决方案
我想补充一下,您知道将来是否有打算将其删除吗?
不是,没有。它从来没有被提出过,如果是这样,它几乎会被委员会普遍嘲笑。不仅仅是因为 BC,还因为这个想法的优点。
goto
是一种边际用处的工具,但它是有用的。大多数新的 C++ 程序员甚至没有goto
在他们的入门学习中学习如何工作,所以这并不是说有很多人滥用该功能。删除它没有任何好处,除了迎合那些将“Goto 认为有害”不是建议甚至默认立场而是宗教教义的纯粹主义者。
在复杂的情况下,goto
您可以使用的各种控制流结构中最不坏和最清楚的情况。它们可能很少见,但确实存在,因此删除该功能没有任何好处。
推荐阅读
- ios - iOS 的 MotionLayout
- multithreading - 队列的实现不是线程安全的
- c - 如何强制 gnu ld 使用 -lc 中的符号覆盖我自己的 libc 副本中的符号?
- java - 来自 TextField 的 SimpleIntegerProperty
- javascript - 为脚本添加仅在 Travis CI 中运行而不是在本地运行的权限
- matlab - 无法实例化派生的 MATLAB 类而不会出错
- node.js - Firebase Web Init 错误文件已存在
- javascript - JS - D3 多线时间序列图
- git - 每次提交都会在 git 中创建一个新的树对象吗?
- keras - 在 Keras 中使用 ModelCheckpoint 时的最大递归深度错误