C++ ox 使用lambda
lambda ['læmdə]
ambda表达式实际上是函数式语言的核心,理论上说它现在现有的各种语言都可以构成等价。大家可能知道冯诺依曼机,在历史上lambda与冯诺依曼机是等价的。是现代计算机理论的3个源头之一。
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。
在GCC 4.5.1中编译并运行正确。
下一代C++标准里已经把它加入核心语言.
#include<vector>
#include<algorithm>
#include<iostream>
#include<iterator>
int main()
{
std::vector<int> vec(10);
int s=0;
std::for_each(vec.begin(), vec.end(), [&s](int& a){ a=s++; });
std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout));
}
#include<algorithm>
#include<iostream>
#include<iterator>
int main()
{
std::vector<int> vec(10);
int s=0;
std::for_each(vec.begin(), vec.end(), [&s](int& a){ a=s++; });
std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout));
}

浙公网安备 33010602011771号