C++ lambda表达式 (二)
- #include <functional>
- #include <iostream>
- int main()
- {
- using namespace std;
- int i = 3;
- int j = 5;
- // The following lambda expression captures i by value and
- // j by reference.
- function<int (void)> f = [i, &j] { return i + j; };
- // Change the values of i and j.
- i = 22;
- j = 44;
- // Call f and print its result.
- cout << f() << endl;
- }
可以看到i是拷贝值,j是引用值,所以是24,结果26
把lambda表达式当作参数传送
- #include <list>
- #include <algorithm>
- #include <iostream>
- int main()
- {
- using namespace std;
- // Create a list of integers with a few initial elements.
- list<int> numbers;
- numbers.push_back();
- numbers.push_back();
- numbers.push_back();
- numbers.push_back();
- numbers.push_back();
- // Use the find_if function and a lambda expression to find the
- // first even number in the list.
- const list<int>::const_iterator result =
- find_if(numbers.begin(), numbers.end(),[](int n) { return (n % ) == ; });//查找第一个偶数
- // Print the result.
- if (result != numbers.end())
- {
- cout << "The first even number in the list is " << *result << "." << endl;
- } else
- {
- cout << "The list contains no even numbers." << endl;
- }
- }
lambda表达式嵌套使用
- #include <iostream>
- int main()
- {
- using namespace std;
- // The following lambda expression contains a nested lambda
- // expression.
- int timestwoplusthree = [](int x) { return [](int y) { return y * ; }(x) + ; }();
- // Print the result.
- cout << timestwoplusthree << endl;
- }
ambda表达式使用在高阶函数里
- #include <iostream>
- #include <functional>
- int main()
- {
- using namespace std;
- auto addtwointegers = [](int x) -> function<int(int)> {
- return [=](int y) { return x + y; };
- };
- auto higherorder = [](const function<int(int)>& f, int z) {
- return f(z) * ;
- };
- // Call the lambda expression that is bound to higherorder.
- auto answer = higherorder(addtwointegers(), );
- // Print the result, which is (7+8)*2.
- cout << answer << endl;
- }
C++ lambda表达式 (二)的更多相关文章
- Java 8 Lambda 表达式(二)
lambdas 实现 Runnable 接口 下面是使用 lambdas 来实现 Runnable 接口的示例: // 1.1使用匿名内部类 new Thread(new Runnable() { @ ...
- lambda表达式 <二>
概念了解: 1.什么是匿名委托(匿名方法的简单介绍.为什么要用匿名方法) 2.匿名方法的[拉姆达表达式]方法定义 3.匿名方法的调用(匿名方法的参数传递.使用过程中需要注意什么) 什么是匿名方法? 匿 ...
- 背后的故事之 - 快乐的Lambda表达式(一)
快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ...
- 【转】背后的故事之 - 快乐的Lambda表达式(一)
快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ...
- .NET进阶篇05-Linq、Lambda表达式
知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂 内容目录 一.Lambda表达式1.匿名方法2.Lambda表达式二.Linq概述三.查询操作符1.linq初见2.常用查询操作符筛选排序分组连 ...
- IDEA问题java: -source 1.6 中不支持diamond、 lambda 表达式
文章目录 一.问题:连片的java: -source 1.6 中不支持 diamond 运算符.lambda 表达式 二.解决方法: 1.在微信群里问大佬,大佬在玩游戏,回复的比较慢 2.自己查Goo ...
- CRL快速开发框架系列教程二(基于Lambda表达式查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)
今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误. 我增加了几个单元测试来捕获错误,代码如下. /// <summary> ...
- Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)
前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...
- 十二、C# 委托与Lambda表达式(匿名方法的另一种写法)
委托与Lambda表达式 1.委托概述 2.匿名方法 3.语句Lambda 4.表达式Lambda 5.表达式树 一.委托概述 相当于C++当中的方法指针,在C#中使用delegate 委托来 ...
随机推荐
- 错误处理:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
部署项目时,启动Tomcat一直出错:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter SEVE ...
- 使用quick自己定义Button
使用quick时自己封装的类存放于特定的文件夹.便于以后使用 以下是作者经经常使用到的一个按钮 local MyButton = class("MyButton") functio ...
- angularjs $http 服务
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- JMeter使用碰到的问题
1.创建http请求 使用threadGroup-->add-->sampler--http request 2.使用计数器 使用threadGroup-->add-->con ...
- java9新特性-14-多分辨率图像 API
1.官方Feature 251: Multi-Resolution Images 263: HiDPI Graphics on Windows and Linux 2.产生背景 在Mac上,JDK已经 ...
- java9新特性-3-JDK 和 JRE 的改变
1.JDK 与 JRE 的关系 JDK :JavaDevelopmentKit (Java开发工具包) JRE :JavaRuntimeEnvironment (Java运行环境) 说明: J ...
- vuejs scope
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python制造模块
制造模块: 方法一: 1.mkdir /xxcd /xx 2.文件包含: 模块名.py setup.py setup.py内容如下:#!/usr/bin/env pythonfrom distutil ...
- python中修改函数内部的变量会发生什么
最近写python遇到个函数内部变量使用外部变量的问题,现在总结下吧 #!/usr/bin/env python a = 100def su(): a = a + 1 print(a) s = su( ...
- vue项目的环境变量
关于项目中环境变量的总结 背景 项目环境一般分为开发环境,测试环境,线上环境 因为每个环境的接口域名.webpack 配置都是不同的,所以在打包构建时,我们需要区分这些环境,这时就用到了环境变量 在工 ...