【发布时间】:2017-04-24 09:10:34
【问题描述】:
我有一个内部 lambda,它使用外部 lambda 的引用变量之一,如下所示:
int x=0;
auto outer=[&](){
return [&](){
x=5;
};
};
auto inner= outer();
inner();
std::cout << x;
我tried它。它运作良好。但是,我想确保这里没有悬空引用。有吗?
【问题讨论】:
-
我的看法 - 它是对同一
x的引用,并且由于您没有离开定义它的范围 - 它不是一个悬空引用。但是,我会让更多知识渊博的人回答它。
标签: c++ c++11 lambda dangling-pointer