Wenn eine Funktion ein Argument nach Wert nimmt, kann es normalerweise geändert werden. Bei Lambdas scheint dies jedoch nicht der Fall zu sein. Warum?
%Vor%Herb Sutter beantwortet die Frage hier wie folgt:
%Vor%Betrachten Sie dieses Strohmann-Beispiel, in dem der Programmierer ein lokales erfasst Variable nach Wert und versucht, den erfassten Wert zu ändern (a Elementvariable des Lambda-Objekts):
Diese Funktion scheint aus einem Anliegen des Benutzers heraus entstanden zu sein vielleicht nicht, dass er eine Kopie bekommen hat, und insbesondere seit Lambda kopierbar sind, könnte er eine andere Lambda-Kopie ändern.
Hinweis: Dies ist ein Vorschlag, um die Funktion zu ändern.