【发布时间】:2016-04-22 11:22:07
【问题描述】:
对于 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;
}
【问题讨论】:
-
我认为(实际上,希望)该语言的意图是您获得对引用变量所引用的对象的引用,但@sergej 的链接让我想知道......