C++笔记-lambda表达式需要注意的地方
目录
基本概念
代码与实例
基本概念
lambda表达式其实是函数式编程;
C++提供了浮动代码,也就是变量随用随定义;
lambda表达式:时候时候想用语句块,就什么时候使用。
代码与实例
如下面的代码:
#include <iostream>
using namespace std;int main()
{auto funA = [](int a){a *= 100;cout << "The value is : " << a << endl;};funA(100);int valueA = 255;//[=]表示捕捉外部内容auto funB = [=]{ return valueA; };valueA *= 2;cout << funB() << endl;//上面是浮动代码块,lambda表达式的延迟调用,是不能改的,要改的需要如下操作int valueB = 300;auto funC = [&valueB] { return valueB; };valueB *= 10;cout << funC() << endl;return 0;
}
运行截图如下:
下面是有个很有意思的东西,能不能在lambda表达式里面,修改外部数据的值,如下:
看一下报错信息:
把源码修改如下:
#include <iostream>
using namespace std;int main()
{int valueA = 100;auto fun = [=]() mutable{return valueA++;};cout << fun() << endl;return 0;
}
即可,运行截图如下:
C++笔记-lambda表达式需要注意的地方相关推荐
- kotlin学习笔记——lambda表达式
先简单说说lambda表达式: (Type a, Type b, ...) -> {...} 左边是参数(参数类型可省略),如果只有一个参数括号也可以省略,右边是函数体和返回结果(大括号可省略) ...
- C++11 学习笔记 lambda表达式
http://blog.csdn.net/fjzpdkf/article/details/50249287 lambda表达式是C++11最重要也最常用的一个特性之一.lambda来源于函数式编程的概 ...
- lambda 两个list获取交集_《Java8 实战》笔记 - Lambda 表达式
Lambda 表达式介绍 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它 有参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表.这个定义够大的,让我 ...
- Java学习笔记---Lambda表达式及Stream流Api
Lambda 特性: 允许把函数作为参数传递进方法. 前置条件: 必须是函数式接口---------->[函数式接口:满足以下三条1.接口中只有一个抽象方法.2.可以有默认实现的方法.3.可以有 ...
- java lamdba表达式效率_java8新特性Lambda表达式为什么运行效率低
Lambda表达式为什么运行效率低 准备 我为什么说Lambda表达式运行效率低. 先准备一个list: 先用Lambda表达式的方式来循环一下这个list: 运行时间大概为110ms 再用普通方式来 ...
- Lambda表达式的前世今生
Lambda 表达式 早在 C# 1.0 时,C#中就引入了委托(delegate)类型的概念.通过使用这个类型,我们可以将函数作为参数进行传递.在某种意义上,委托可理解为一种托管的强类型的函数指针. ...
- 泛型算法(lambda表达式、function类模板、bind函数适配器、迭代器类别、链表数据结构独有的算法)
文章目录 概念 find()函数 迭代器令算法不依赖于容器 但算法依赖于元素类型的操作 算法永远不会执行容器的操作 只读算法 accumulate()函数 从两个序列中读取元素(equal函数为例) ...
- lambda函数if_现代 C++:Lambda 表达式
Lambda 表达式(Lambda Expression)是 C++11 引入的一个"语法糖",可以方便快捷地创建一个"函数对象". 从 C++11 开始,C+ ...
- Lambda表达式效率低
一.验证 废话不多说,先上验证代码: List<Integer> list = new ArrayList<>();for (int i = 0; i < 1000000 ...
最新文章
- 嫌Terminal终端太单调?快收下这几个有趣的改造工具!
- android app功能 配置,配置安装时分发 | Android 开发者 | Android Developers
- sdcms的一个bug,总是提示,该文件不允许被上传
- python开发好学吗-Python是不是很难学?
- ORA-600[4194]/[4193]解决
- 基于android模拟led发光,LED通知灯模拟app
- 容器源码分析之TreeSet(五)
- 为什么要嫁就嫁电力男!
- 过年了,是不是应该写点代码祝福别人
- mysql 查看索引 命令_MySQL命令篇之库、表、索引、用户、视图及SELECT查询
- java的标准注解和元注解
- 关于jquery跨域请求方法
- 《IT项目管理》读书笔记(1) —— 概述
- linux之 sed命令
- 开发中常用日志搜索技巧
- Hello,Java!(娱乐)
- python cpk计算器_Python进行CPK计算
- 解二元一次方程组的c语言编程,如何利用C语言求二元一次方程的解
- 关于艾宾浩斯曲线的一点思考
- ArcGIS Engine打开shp文件