C++ 11 笔记 (一) : lambda
时至今日都是我咎由自取,错就是错,与任何人无关。掉进C++98的各种坑里无法自拔的抖M感,让我选择了华丽丽的无视C++11,导致今日面对开源的代码到各种看不懂的地步,一入C++深似海,我今天愿意承担一切后果。在努力摆脱小白的道路上,我必须再一次推倒我的三观,重新审视和坦然面对自己。
一段时间没有更新博客了,简直凄凉。
今天打算开几篇C++11的博客。看博容易,写博不易,且写且珍惜。。。
lambda表达式在C++算是千呼万唤始出来了,常见写法有下面几种:
auto lambda1 = [](std::string str)
{
std::cout << str << std::endl;
}; int x = ;
auto lambda2 = [=](int a, int b)
{
return a > x;
}; auto lambda3 = [&](int a, int b)
{
x = ;
return a > b;
};
[]表示不访问外部变量,[=]表示值访问,[&]表示引用访问。在上面的例子中,lambda1无法访问除str以外的变量,lambda2可以访问x的值,但是不能修改x的值,lambda3可以修改x的值。在 “=” 和 “&” 的后面是可以加变量名的,完全可以写成[=x, &y]。
最后举一个岂止水简直水的例子,那就是std::sort
 int arr[] = { , , , ,  };
 std::sort(arr, arr + , [](int x, int y) { return x > y; });
差不多就是这样了~~~
C++ 11 笔记 (一) : lambda的更多相关文章
- C++ 11 笔记 (三) : auto
		我真的不是标题党... 虽然大一上学期学C语言基础时就学了auto关键字了,而且还是跟static和register两个关键字打包学的,但是.. 猜的没错,C++11这货又给auto加新功能了,在 C ... 
- 【转】C++11新特性——lambda表达式
		C++11的一大亮点就是引入了Lambda表达式.利用Lambda表达式,可以方便的定义和创建匿名函数.对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多 ... 
- C++11的闭包(lambda、function、bind)
		c++11开始支持闭包,闭包:与函数A调用函数B相比较,闭包中函数A调用函数B,可以不通过函数A给函数B传递函数参数,而使函数B可以访问函数A的上下文环境才可见(函数A可直接访问到)的变量:比如: 函 ... 
- 0028 Java学习笔记-面向对象-Lambda表达式
		匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ... 
- IOS中的Block与C++11中的lambda
		ios中的block 可以说是一种函数指针,但更确切的讲,其实际上其应该算是object-c对C++11中lambda的支持或者说是一个语言上的变体,其实际内容是一样的,C++的lambda我已经有简 ... 
- C++11新特性 lambda表达式
		C++11 添加了了一个名为lambda表达式的功能,可以用于添加匿名函数 语法: [capture_block](parameter) mutable exception_specification ... 
- C++11中的Lambda表达式
		原文地址:C++中的Lambda表达式 作者:果冻想 一直都在提醒自己,我是搞C++的:但是当C++11出来这么长时间了,我却没有跟着队伍走,发现很对不起自己的身份,也还好,发现自己也有段时间没有写C ... 
- C++11笔记
		__func__宏 __func__返回当前的函数名,也可以返回class和struct名. /*返回函数名hello*/ const char* hello() { return __func__; ... 
- [Python学习笔记-002] lambda, map, filter and reduce
		1. lambda lambda, 即匿名函数,可以理解为跟C语言的宏类似.例如: >>> max = lambda x, y: x if x > y else y >& ... 
随机推荐
- 关机相关(shutdown,reboot)
			慣用的關機指令: shutdown 由於Linux的關機是那麼重要的工作,因此除了你是在主機前面以tty7圖形介面來登入系統時, 不論用什麼身份都能夠關機之外,若你是使用遠端管理工具(如透過piett ... 
- Qt全局热键(windows篇)
			Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个 ... 
- Android开发之”再按一次退出程序“的实现
			现在移动客户端退出程序对话框退出越来越不流行了,都开始使用连续按两次来退出,即著名的“再按一次退出程序”模式.现在就看看怎么实现的吧. @SuppressLint("HandlerLeak& ... 
- ERROR 1114 (HY000): The table 'adv_date_tmp' is full(Mysql临时表应用)
			场景:需要对现在数据库的数据进行批量的进行is_del=1的操作,但是遇到一个问题,在执行sql的时候发现sql不能在查询特定表的时候再嵌套查询来做update的操作,经过讨论,后续我们想到用临时表的 ... 
- 使用ViewState[""]传递Hashtable的值
			//首先定义Hashtable myHach = new Hashtable(); //添加键值到Hashtable中myHash.Add("ServiceType1", &quo ... 
- mysql嵌套查询
			select * from(select t.`name` `name`,count(*) count from company t group by t.`name`) aa where aa.co ... 
- Java编程风格与命名规范整理
			基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母. Pe ... 
- PB中用回车键实现tab键的功能
			先编辑控件的TabOrder顺序,然后在 global external functions 中定义一个API:Subroutine keybd_event(int bVk,int bScan,ulo ... 
- 学习笔记_Java_day13_JSTL_自定义标签库(9)
			自定义标签 1 自定义标签概述 1.1 自定义标签的步骤 其实我们在JSP页面中使用标签就等于调用某个对象的某个方法一样,例如:<c:if test=””>,这就是在调用对象的方法一样.自 ... 
- Ext.Net学习笔记10:Ext.Net ComboBox用法
			ComboBox是最常用的控件之一,它与HTML中的Select控件很像,但可以进行多选.自定义显示格式.分页等. ComboBox用法 <ext:ComboBox runat="se ... 
