什么是Lambda表达式?怎么用?能给我写一个简单的例子不?
1 #include
2 #include
3 #include
4
5 using namespace std;
6
7 int main()
8 {
9 int arr[6] = {9, 2, 4, 8,1, 7};
10 auto print_arr = &arr ->void
11 {
12 int i;
13 for(i = 0; i < 6; i++)
14 cout << arr[i] << ",";
15 cout << endl;
16 };
17 print_arr();
18 sort(arr,arr+6);
19 print_arr();
20 sort(arr,arr+6,
21 ->bool {
22 return a>b;
23 });
24 print_arr();
25 }
1#inlcude
2 #include
3 #include
不知道你问的编程语言是什么,因为很多编程语言都支持lambda,虽然写法不同,但是概念相通。下次提问记得说清楚你用的语言,方便用你熟悉的语言举例。
假设你用的是C#,看如下代码
int add(int a, int b) { return a + b; }
这是一个函数,对吧。
我们也可以用lambda代替
var add = new Func<int, int, int>((int a, int b) => { return a + b; });
进一步,我们可以省略参数类型和return
var add = new Func<int, int, int>((a, b) => a + b);
这个 (a, b) => a + b 就是一个Lambda表达式。
由此可见,它其实就是一个函数。
java8的Lambda表达式 http://www.cnblogs.com/feichexia/archive/2012/11/15/Java8_LambdaExpression.html