VS2010学习笔记--lambda表达式 _C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > VS2010学习笔记--lambda表达式

VS2010学习笔记--lambda表达式

 2013/5/19 14:47:51  天旭张  程序员俱乐部  我要评论(0)
class="C++" name="code"> * <p>Title:
 * 1--for_each()
 * 2--vector <int> V;
 * 3--[](int n){}-----lambda表达式</p>
 * <p>Description:2013年5月18日12:14:26</p>
 * <p>Copyright: Copyright (c) 2013</p>
 * <p>Filename: T1_lambdaException.cpp </p>
 * @author ZTX
 * @version 1.0
 */
#include "stdafx.h"
#include <iostream>
#include <ostream>
#include <algorithm>//提供了大量基于迭代器的非成员模版函数 eg:for_each
#include <vector>//Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型。
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
	vector <int> V;
	for( int i=0;i<8;i++)
	{
		V.push_back(i);
	}
	for_each( V.begin(),V.end(),[](int n){//V.begin()注意括号,是成员函数,不是成员变量
		//for_each()-----为序列中的每个元素应用指定的函数
		//[](int n){}-----lambda表达式----[] caozuofu.html" target="_blank">操作符是 lambda 导引符, 它告诉编译器一个 lambda 表达式开始了。 (int n) 是 lambda 参数声明,它告诉编译器不具名函数对象类的函数调用操作符带有哪些参数, { cout << n << " "; }  是复合声明,它是不具名函数对象类的函数调用操作符的函数体。不具名函数对象类的函数调用操作符默认返回 void。
		cout<<n;	//下面两个条件都需要用它,所以直接放在前面
		if(n%2==0){
			cout<<"\teven\n";
		}else{
			cout<<"\todd\n";
		}
	});
}

/**
发表评论
用户名: 匿名