Mit C++ Lambda, was passiert, wenn Sie eine Referenz als Referenz erfassen? Erfassen Sie einen Verweis auf ein lokales Objekt im Stapel (die Referenz selbst) oder einen Verweis auf das Objekt, auf das verwiesen wird? Eg in den folgenden Code:Welche Regeln gibt es für C++ - Lambdas, um Verweise als Referenz zu erfassen?
int& TestClass::returnReference()
{
static int i=0;
return i;
}
std::function<void()> TestClass::testFunction()
{
int& memberRef = this->someIntMember;
int& intRef = returnReference();
auto lambda =
[&]
{
// What happens when you capture a reference by reference
// like memberRef or intRef?
};
return lambda;
}
In Verbindung stehende [Erfassen einer Referenz durch Verweis in einem C++ 11 Lambda] (http://stackoverflow.com/questions/21443023/capturing-a-reference-by-reference-in-a-c11-lambda)? – sergej
Ich denke (eigentlich, hoffe) die Absicht der Sprache ist, dass Sie einen Verweis auf das Objekt erhalten, dass die Referenzvariable bezieht sich, aber @ sergej Link macht mich wundern ... – molbdnilo