10.21 编写一个lambda,捕获一个局部int变量,并递减变量值,直至它变为0.一旦变量变为0,再调用lambda应该不再递减变量。lambda应该返回一个bool值,指出捕获的变量是否为0.
#include<iostream>
#include<algorithm>
using namespace std; int main()
{
int n=;
auto f=[n]() mutable ->bool {if(n>) return --n;else return n;};
int i=;
while(i)
{
cout<<f()<<" ";
--i;
}
cout<<endl;
return ;
}
运行结果如下: