首页 > 解决方案 > 除了向后兼容性之外,还有什么理由 C++20 仍然包含 goto 作为语句?

问题描述

我想补充一下,您知道将来是否有打算将其删除吗?

是不是因为当您编写低级代码(例如,可能混合 C++ 和汇编程序)时,它不是一个妖魔化的声明?

标签: c++c++20goto

解决方案


我想补充一下,您知道将来是否有打算将其删除吗?

不是,没有。它从来没有被提出过,如果是这样,它几乎会被委员会普遍嘲笑。不仅仅是因为 BC,还因为这个想法的优点。

goto是一种边际用处的工具,但它是有用的。大多数新的 C++ 程序员甚至没有goto在他们的入门学习中学习如何工作,所以这并不是说有很多人滥用该功能。删除它没有任何好处,除了迎合那些将“Goto 认为有害”不是建议甚至默认立场而是宗教教义的纯粹主义者。

在复杂的情况下,goto您可以使用的各种控制流结构中最不坏和最清楚的情况。它们可能很少见,但确实存在,因此删除该功能没有任何好处。


推荐阅读