【发布时间】:2009-08-28 16:25:43
【问题描述】:
在汇编中实现似乎并不太难。
gcc 还有一个标志(-fnested-functions)来启用它们。
【问题讨论】:
-
实施/不会实施“太难”与标准定义机构选择在标准中包含或省略的内容之间存在差异。 GCC对此提供支持仅仅意味着它是在标准范围之外实现的——也就是说,它是一个非标准特性。 GCC 只是一个符合 C 标准的编译器的实现;它不限于仅提供标准中的内容。
-
@Matt:听起来更像是一个答案而不是评论
-
Matt Ball:我的问题确实是为什么标准定义机构选择省略这样的功能。我对 gcc 的引用更多地是“可以做到,为什么不可以”的一个例子。
-
@des4maisons “它可以做到,为什么不这样做”是你最终使用 C++ 等语言的方式。这是好事还是坏事取决于你。 (是的,C++ 也不直接支持嵌套函数,但你总是可以创建一个本地函子)。