使用C++11里面的Lambda表达式,来取代仿函数

圣人告诉我们,用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<

在VS2012编译通过,使用Lambda表达式,来取代仿函数,太爽了!

你可能感兴趣的:(C++)