我想补充一下,你知道将来是否有删除它的意图吗?
是不是因为当您编写低级代码(例如,可能混合使用 C++ 和汇编程序)时,它不是一个妖魔化的语句?
我想补充一下,你知道将来是否有删除它的意图吗?
不是,没有。它从未被提出过,如果提出来,它几乎会被委员会普遍嘲笑。不仅仅是因为 BC,而是因为这个想法的优点。
goto是一个边际有用的工具,但它是有用的。大多数新的 C++ 程序员goto在他们的介绍性学习中甚至没有学习它的工作原理,所以不会有人滥用该功能。删除它没有任何好处,除了迎合那些将“后藤认为有害”不是作为建议甚至作为默认立场,而是作为宗教教义的纯粹主义者。
在一些复杂的情况下,goto您可以使用各种控制流结构中最不坏和最清楚的情况。它们可能很少见,但确实存在,因此删除该功能没有任何好处。
在编写程序以生成 C 或 C++ 源代码以执行某些任务时(例如,将代码从某种其他语言转换为 C 或 C++ 时),输出的构造组合通常与构造的范围大不相同如果直接编写 C 或 C++ 代码将使用。如果有人正在为一种语言编写转译器,该语言具有一些 C 和 C++ 不使用就不能方便地支持的控制结构,那么goto允许转译器使用这种结构来实现goto通常比要求它添加标志或其他类似的东西更方便解决缺乏goto.