我有一个未来,我想将一个 lambda 传递给它以在它完成时运行,但是在 lambda 执行时范围会发生变化;捕获的值会发生什么?例如
bool* MakeThen(Concurrency::completion_future& future)
{
bool * isFinished = new bool(false);
future.then([=](){ *isFinished = true; });
return isFinished;
}
到 lambda 实际执行时,该函数可能已经完成。那么会发生什么呢?按值捕获就像绑定一堆变量一样吗?