作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 C++ 和 Java 上下文中对 lambda 表达式的解释是否正确?
最佳答案
它们并不完全相同。两者都创建未命名的类,但它们的相似性到此为止。
在 C++ 中,您创建一个闭包来捕获您的局部变量,可选地通过引用。在 Java 中,您只需获取当前局部变量值的快照(并且这些变量需要是“最终的”)。
匿名内部类的目的是扩展另一个类或临时实现另一个接口(interface)。因此,匿名内部类可以在某种程度上模拟 lambda 表达式的工作,例如通过实现 Runnable
接口(interface)。 Lambda 表达式专门设计用于在其环境中调用并可能修改局部变量。
关于java - C++0x - lambda 表达式看起来与 Java 的匿名内部类一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163569/
我是一名优秀的程序员,十分优秀!