我认为valueLambda
和refLambda
函数都在x = 13之后执行;但结果是valueLambda
cout 1.那么它如何在幕后工作?我认为valueLambda
和refLambda
只是std::function
而不存储内存?
int main() {
int x = 1;
auto valueLambda = [=]() { std::cout << x << std::endl; };
auto refLambda = [&]() { std::cout << x << std::endl; };
x = 13;
valueLambda();
refLambda();
}