int x = 1; auto valueLambda = [=]() { cout << x << endl; }; auto refLambda = [&]() { cout << x << endl; }; x = 13; valueLambda(); refLambda();
This code will print 1 13
[&epsilon] capture by reference [&] captures all variables used in the lambda by reference [=] captures all variables used in the lambda by value [&, epsilon] captures variables like with [&], but epsilon by value [=, &epsilon] captures variables like with [=], but epsilon by reference