0
点赞
收藏
分享

微信扫一扫

C++11 Lambda函数(匿名函数)



C++11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问。

Lambda表达式的语法通过下图来介绍:



C++11 Lambda函数(匿名函数)_lambda表达式





  1. Lambda表达式的引入标志,在‘[]’里面可以填入‘=’或‘&’表示该lambda表达式“捕获”(lambda表达式在一定的scope可以访问的数据)的数据时以什么方式捕获的,‘&’表示一引用的方式;‘=’表明以值传递的方式捕获,除非专门指出。
  2. Lambda表达式的参数列表
  3. Mutable 标识
  4. 异常标识
  5. 返回值
  6. “函数”体,也就是lambda表达式需要进行的实际操作   




// lambda.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

int x = 10,
y = 3,
z;

z = [=]() mutable throw() -> int { int n = x + y; x = y; y = n; return n; }();

cout << z << endl;
cout << "x:" << x << "\t" << "y:" << y << endl;

return 0;
}




举报

相关推荐

0 条评论