我的任务是编写一个增加值的lambda函数,但我必须使用value = 0 capture-specifier.我正在考虑以下功能:
auto lambda = [value = 0]{return ++value}
Run Code Online (Sandbox Code Playgroud)
调用此函数时,每次都必须给出递增的值.但我知道这个实现是错误的,因为它是通过值传递的.我怎么能用C++ 14做到这一点?
Ric*_*ges 14
你需要使lambda变为可变:
auto lambda = [value = 0]() mutable {return ++value;};
Run Code Online (Sandbox Code Playgroud)