C++ - Lambdas: Unterschied zwischen "veränderlich" und capture-by-reference

In C++ können Sie erklären, Lambda-Ausdrücke zum Beispiel so:

int x = 5;
auto a = [=]() mutable { ++x; std::cout << x << '\n'; };
auto b = [&]()         { ++x; std::cout << x << '\n'; };

Beide lassen mich ändern x, was ist also der Unterschied?

Schreibe einen Kommentar