我一直在尝试了解Ruby块的工作原理,为此,我一直在尝试用C语言实现它们。实现闭包的一种简单方法是将一个void*传递给封闭堆栈的闭包/函数,但是Ruby块似乎还处理使用该块的作用域中的返回和中断语句。loop do i *= 2我认为Java的其中一个闭包提案也是这样工作的。
那么,如何在C中实现Ruby块/Java闭
在cp偏好网站上,当谈到direct_initialization时,它说它工作在闭包参数捕获中,比如.{.}我认为这应该是"lambda函数“,但是为什么它也被称为”闭包“呢?我检查了C++11标准,该项“闭包”首先出现在第5.1.2节(lambda表达式)中,其中说:
The evaluation of a lambda-expression results in a prvalue在C++11中,"lambda表达式“、&qu