首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

lamda表达式,具体指啥,为何没有lamda表达式for_each之类的不好用,求解

2013-01-11 
lamda表达式,具体指啥,为啥没有lamda表达式for_each之类的不好用,求解希望各位指点,谢谢![解决办法]这东西

lamda表达式,具体指啥,为啥没有lamda表达式for_each之类的不好用,求解
   希望各位指点,谢谢!
[解决办法]
这东西自己google下就知道了。
手懒是学不好C++的。
for_each宏是完全没有意义的东西了,已经有range based for语法了。
[解决办法]

引用:
每次调用for_each执行一些简单操作,你都想定义一个新的函数或者函数对象么?

基本就是这个意思。
lambda表达式是指一个函数,没有名字,直接写在它被调用的地方。
比如没有它,你想用for_each可能需要这样写:
for_each(begin,end,&classname::functionname);
然后在类定义里添加函数的声明,然后在cpp文件里添加函数的实现……
如果有lambda表达式,你可以直接在&classname::functionname这个地方写上你的函数。前提是它就用一次,而且不是很长。
[解决办法]
写起来方便一点。自己试试就知道了。
[解决办法]
http://blog.csdn.net/zhuankeshumo/article/details/8289412
[解决办法]
建议用VS2010,已经有编译器支持的lamda表达式了。
std::vector<int> vInt;
//...

for_each (vInt.begin(), vInt.end(), [](int nValue)
{
cout<< nValue << " ";
};

热点排行