Zugriff auf lambda member?
-
Hallo,
Ich wollte fragen ob es eine Möglichkeit gibt auf Member eines Lambdas zuzugreifen.
Also etwa so (nur ein Beispiel):int n = 5; auto x = [=]()mutable{++n;}; x(); std::cout<<x.n<<std::endl;MfG
-
Soweit ich weiß nicht. Was aber gehen sollte ist
int n = 5; int x_n = n; auto x = [&](){++x_n;}; x(); std::cout<<x_n<<std::endl;Im Prinzip ist das genau das was du haben willst und der Optimizer dürfte nach dem Inlinen sogar die Referenz wegoptimieren.
-
Danke für die Antwort.
Das Beispiel selbst zielt auf keine besondere Problemstellung ab. Die Übergabe per value war nur dazu gedacht, als Beispiel für meine Frage nach dem Memberzugriff zu dienen, weil ich explizit einen Member des Lambdas verändern und nach Möglichkeit wieder auslesen wollte. :xmas1: