【发布时间】:2009-10-30 15:09:45
【问题描述】:
在this SO线程中,Brian Postowsuggested涉及假匿名函数的解决方案:
创建一个 comp(L) 函数,返回长度为 L 的数组的 comp 版本...这样 L 就成为参数,而不是全局
如何实现这样的功能?
【问题讨论】:
-
我认为没有必要在您的问题中提供指向 stackoverflow.com 主页的链接。
-
您链接到的问题是关于如何在 C++ 中执行此操作。此问题标记为 C。您想了解哪个?
-
Barry 提供的解决方案是用 C 语言编写的。大多数 cmets 建议用 C++ 解决我的第一个问题是不可能的。
-
我真的很想看看是否有人可以在符合标准的 C 中想出一个好方法来做到这一点。
-
好吧,既然布赖恩也在谈论将数组复制到向量中并再次返回(建议每次复制需要 2ns 或大约 3 个时钟周期),我不相信他是认真的并且知道他在说什么。我不知道在 C 中实现闭包的任何方法。您可以通过依赖全局或线程本地数据来“作弊”,但是调用约定和函数指针的性质使得对同一函数的两个不同调用不可能“看到” L 的不同值,除非 (a) 它已更改,或 (b) 调用是在不同的上下文中进行的。
标签: c anonymous-function