圣人告诉我们,用C++中尽可能使用for_each来迭代容器,但是为了使用for_each,我们不得不写很多个 operator (...)
现在有了Lambda表达式:一切都变得和谐了!
看如下代码
char str[]="Hello World!";
int uppercase = 0;
for_each(str, str+sizeof(str), [&uppercase] (char c)
{
if (isupper(c))
{
uppercase++;
}
});
cout<< uppercase<<" uppercase letters in: "<< str<<endl;
在VS2012编译通过,使用Lambda表达式,来取代仿函数,太爽了!