使用C++ lambda表達式時,通過引用捕獲參考時會發生什麼? 您是捕獲對堆棧上的本地對象(引用本身)的引用,還是對引用的對象的引用? 如下面的代碼:使用C++ lambda表達式,通過引用捕獲引用的規則是什麼?
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;
}
相關[在C++ 11 lambda中通過引用捕獲引用](http://stackoverflow.com/questions/21443023/capturing-a-reference-by-reference-in-a-c11-lambda)? – sergej
我認爲(實際上,希望)該語言的意圖是,你得到了引用變量引用的對象的引用,但是@ sergej的鏈接讓我懷疑...... – molbdnilo