lamda表达式,具体指啥,为何没有lamda表达式for_each之类的不好用,求解
lamda表达式,具体指啥,为啥没有lamda表达式for_each之类的不好用,求解希望各位指点,谢谢![解决办法]这东西
lamda表达式,具体指啥,为啥没有lamda表达式for_each之类的不好用,求解
希望各位指点,谢谢!
[解决办法]
这东西自己google下就知道了。
手懒是学不好C++的。
for_each宏是完全没有意义的东西了,已经有range based for语法了。
[解决办法]
基本就是这个意思。
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 << " ";
};