当前位置: 代码迷 >> JavaScript >> 问一个关于C++lambda表达式的有关问题
  详细解决方案

问一个关于C++lambda表达式的有关问题

热度:164   发布时间:2013-02-24 17:58:56.0
问一个关于C++lambda表达式的问题
为什么C++的lambda表达式来JavaScript区问呢?因为lambda表达式在C++里也是新标准,好多人都不熟。但是JavaScript的匿名函数大家都懂。这个东西有点类似JavaScript里的匿名函数啦

	class A
{
int a, b;
public:
A():a(5),b(6)
{

}
void Print()
{
while ([this]{
cout<<a<<","<<b<<endl;
return (a++)+(b++)>20;
})
{
}
/*

这里定义了一个匿名函数
[this]{
cout<<a<<","<<b<<endl;
return (a++)+(b++)>20;
}
如果是JavaScript,想要直接运行这段代码直接在最后加一个()即可

[this]{
cout<<a<<","<<b<<endl;
return (a++)+(b++)>20;
}()

但C++怎么办呢?
*/

}
}

------解决方案--------------------
auto fun = 
[a, b]{
cout<<a<<","<<b<<endl;
return (a++)+(b++)>20;
};
while (fun())
{
}
  相关解决方案