我有一个内部 lambda,它使用外部 lambda 的引用变量之一,如下所示:
int x=0;
auto outer=[&](){
return [&](){
x=5;
};
};
auto inner= outer();
inner();
std::cout << x;
我 tried它。它运作良好。但是,我想确保这里没有悬空引用。有吗?
最佳答案
这里没有悬空引用。内部 lambda 的引用不是对引用的引用(没有这样的东西);它指的是 x
- 当然没有超出范围。
关于c++ - 内部 lambda 中的悬空引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43584002/