首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-02-24 
问一个关于C++lambda表达式的问题为什么C++的lambda表达式来JavaScript区问呢?因为lambda表达式在C++里也

问一个关于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())
{
}

热点排行