<分区>
我知道嵌套函数不是标准 C 的一部分,但由于它们存在于 gcc 中(事实上 gcc 是我唯一关心的编译器),我倾向于经常使用它们。
这是一件坏事吗?如果是这样,你能给我看一些讨厌的例子吗? gcc 中嵌套函数的状态是什么?它们会被移除吗?
<分区>
我知道嵌套函数不是标准 C 的一部分,但由于它们存在于 gcc 中(事实上 gcc 是我唯一关心的编译器),我倾向于经常使用它们。
这是一件坏事吗?如果是这样,你能给我看一些讨厌的例子吗? gcc 中嵌套函数的状态是什么?它们会被移除吗?
最佳答案
嵌套函数实际上不会做非嵌套函数不能做的任何事情(这就是为什么 C 和 C++ 都没有提供它们)。您说您对其他编译器不感兴趣——目前这可能是真的,但谁知道 future 会怎样?我会避免使用它们以及所有其他 GCC“增强功能”。
一个小故事可以说明这一点——我曾经在一家英国理工学院工作,该公司主要使用 DEC 盒——特别是 DEC-10 和一些 VAXen。所有的工程学院都在他们的代码中使用了许多 DEC 对 FORTRAN 的扩展——他们确信我们将永远是 DEC 商店。然后我们用 IBM 大型机替换了 DEC-10,其 FORTRAN 编译器不支持任何扩展。我可以告诉你,那天有很多人哭泣和咬牙切齿。我自己的 FORTRAN 代码(一个 8080 模拟器)在几个小时内移植到 IBM(几乎所有时间都在学习如何驱动 IBM 编译器),因为我是用标准的 FORTRAN-77 编写的。
关于c - 嵌套函数在 gcc 中是一件坏事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2929281/