[英]C++ lambda capture result
例如我有下一個代碼:
int func()
{
int i = 0;
int j = 0;
auto lambda{[&](){ return i; }};
return lambda();
}
j
也會被引用捕獲還是 lambda 僅捕獲它使用的對象?
不, j
不會被捕獲。
從https://en.cppreference.com/w/cpp/language/lambda :
捕獲是零個或多個捕獲的逗號分隔列表,可選擇以捕獲默認值開頭。 唯一的捕獲默認值是
- &(通過引用隱式捕獲使用的自動變量)和
- =(通過復制隱式捕獲使用的自動變量)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.