码迷,mamicode.com
首页 > 编程语言 > 详细

c++第五版练习10.14 10.15

时间:2017-03-21 16:00:09      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:pre   cap   未命名   ios   param   stream   应该   int   表示   

lambda认识:一个lambda表达式表示一个可调用的代码单元,我么可以将其理解为一个未命名的内联函数,一个lambda具有一个返回类型、一个参数列表和一个函数体 ;lambda可能定义在一个函数内部。

lambda的表达式:[capture list](parameter list )->return type{function body}

 

练习10.14 编写一个lambda ,接受两个int ,返回他们的和;

#include <iostream>

using namespace std;
int main()
{
    int a=5, b=6;
    auto sum = [](int &a, int &b) {return a + b; }; //lambda表达式
    cout << sum(a,b) << endl;
        return 0;
}

 

练习10.15编写一个lambda,捕获它所在函数的int,并接受一个int参数,lambda应该返回捕获的int和int参数的和

#include <iostream>

using namespace std;

int sum(const int &a, const int &b)//函数
{
    auto f = [a](int b) {return a + b; };//lambda表达式在函数的内部,a来源于函数所在的int型参数
    return f(b);
}
int main()
{
    int a=5, b=6;
    cout << sum(a,b) << endl;
    return 0;
}

 

c++第五版练习10.14 10.15

标签:pre   cap   未命名   ios   param   stream   应该   int   表示   

原文地址:http://www.cnblogs.com/whitewn/p/6594048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!