目录

基本概念

代码与实例


基本概念

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表达式需要注意的地方相关推荐

  1. kotlin学习笔记——lambda表达式

    先简单说说lambda表达式: (Type a, Type b, ...) -> {...} 左边是参数(参数类型可省略),如果只有一个参数括号也可以省略,右边是函数体和返回结果(大括号可省略) ...

  2. C++11 学习笔记 lambda表达式

    http://blog.csdn.net/fjzpdkf/article/details/50249287 lambda表达式是C++11最重要也最常用的一个特性之一.lambda来源于函数式编程的概 ...

  3. lambda 两个list获取交集_《Java8 实战》笔记 - Lambda 表达式

    Lambda 表达式介绍 ​ 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它 有参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表.这个定义够大的,让我 ...

  4. Java学习笔记---Lambda表达式及Stream流Api

    Lambda 特性: 允许把函数作为参数传递进方法. 前置条件: 必须是函数式接口---------->[函数式接口:满足以下三条1.接口中只有一个抽象方法.2.可以有默认实现的方法.3.可以有 ...

  5. java lamdba表达式效率_java8新特性Lambda表达式为什么运行效率低

    Lambda表达式为什么运行效率低 准备 我为什么说Lambda表达式运行效率低. 先准备一个list: 先用Lambda表达式的方式来循环一下这个list: 运行时间大概为110ms 再用普通方式来 ...

  6. Lambda表达式的前世今生

    Lambda 表达式 早在 C# 1.0 时,C#中就引入了委托(delegate)类型的概念.通过使用这个类型,我们可以将函数作为参数进行传递.在某种意义上,委托可理解为一种托管的强类型的函数指针. ...

  7. 泛型算法(lambda表达式、function类模板、bind函数适配器、迭代器类别、链表数据结构独有的算法)

    文章目录 概念 find()函数 迭代器令算法不依赖于容器 但算法依赖于元素类型的操作 算法永远不会执行容器的操作 只读算法 accumulate()函数 从两个序列中读取元素(equal函数为例) ...

  8. lambda函数if_现代 C++:Lambda 表达式

    Lambda 表达式(Lambda Expression)是 C++11 引入的一个"语法糖",可以方便快捷地创建一个"函数对象". 从 C++11 开始,C+ ...

  9. Lambda表达式效率低

    一.验证 废话不多说,先上验证代码: List<Integer> list = new ArrayList<>();for (int i = 0; i < 1000000 ...

最新文章

  1. 嫌Terminal终端太单调?快收下这几个有趣的改造工具!
  2. android app功能 配置,配置安装时分发  |  Android 开发者  |  Android Developers
  3. sdcms的一个bug,总是提示,该文件不允许被上传
  4. python开发好学吗-Python是不是很难学?
  5. ORA-600[4194]/[4193]解决
  6. 基于android模拟led发光,LED通知灯模拟app
  7. 容器源码分析之TreeSet(五)
  8. 为什么要嫁就嫁电力男!
  9. 过年了,是不是应该写点代码祝福别人
  10. mysql 查看索引 命令_MySQL命令篇之库、表、索引、用户、视图及SELECT查询
  11. java的标准注解和元注解
  12. 关于jquery跨域请求方法
  13. 《IT项目管理》读书笔记(1) —— 概述
  14. linux之 sed命令
  15. 开发中常用日志搜索技巧
  16. Hello,Java!(娱乐)
  17. python cpk计算器_Python进行CPK计算
  18. 解二元一次方程组的c语言编程,如何利用C语言求二元一次方程的解
  19. 关于艾宾浩斯曲线的一点思考
  20. ArcGIS Engine打开shp文件

热门文章

  1. Google真相:决策贡献及其艰苦抉择
  2. 打怪升级,在线练习编程的神器!
  3. 黑客是互联网的高危职业,选择不慎,很可能如“他们”一样入门到入狱!
  4. 一个大屏监控380个泵房,13000个设备,智能水务是怎么实现的?
  5. 【飞秋】存储过程与业务类实现业务的差异比较
  6. 談JS面向對象【靜態與非靜態類】
  7. Sound recording and encoding in MP3 format.
  8. 原创]Windows Gdi入门初级应用(VC SDK)
  9. 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
  10. 一个程序员转产品经理的经验分享