在C++、Java和Kotlin中,lambda表达式都是一种简洁的表示匿名函数的方式,它们允许你以更直观和灵活的方式编写代码。下面我将通过一些例子来对比分析这三种语言中lambda表达式的使用。
C++ (C++11及以后版本)
C++11引入了lambda表达式,使得C++程序员能够编写更简洁的回调函数和闭包。
示例:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用lambda表达式对vector中的每个元素乘以2
std::transform(vec.begin(), vec.end(), vec.begin(), [](int x) { return x * 2; });
for (int n : vec) {
std::cout << n << ' ';
}
// 输出: 2 4 6 8 10
return 0;
}
Java
Java 8引入了lambda表达式,主要用于简化集合操作、多线程编程等。
示例: