【发布时间】:2011-09-16 10:30:01
【问题描述】:
这里定义了一个兰巴包装表达式:
function <int(double)> f =
[](double x) -> int{ return static_cast <int> (x*x); };
它是这样使用的:
f(someintvalue);
普通函数和包装的 lambda 有什么区别?
【问题讨论】:
-
“在 STL 中定义”?怎么样?
-
“它”?它是什么”?什么样的部分?您在 STL“中”在哪里看到此代码? STL 和 C++ 标准库都是 API。 AFAIK 他们都没有提供任何实现细节,例如这样的代码行。
-
哦,我刚刚在关于 STL 的章节(Ivor Horton 的书)中读到了 lambda 表达式,所以我认为它可能是 STL 的一部分,我的错!
-
有时,看起来任何与 Java 不相似的 C++ 都必须是 STL :(
-
听起来 Ivor Horton 严重滥用了“STL”一词。真可惜。 :(