建立乙個匿名函式並執行。objective-c採用的是上尖號^,而c++ 11採用的是配對的方括號。例項如下:
我們也可以方便的將這個建立的匿名函式賦值出來呼叫:#include using namespace std;
int main()
();}
#include using namespace std;
int main()
; func(i);
}
vs 報錯#include using namespace std;
int main()
; func();
}
error c3493: 無法隱式捕獲「i」,因為尚未指定預設捕獲模式
error c2064: 項不會計算為接受 0 個引數的函式
g++ 報錯:
error: 『i』 is not captured
要直接沿用外部的變數需要在 中指名捕獲。
結果:1024
[&] 引用捕獲#include using namespace std;
int main()
; fun2();
};fun1();
}
結果:#include using namespace std;
int main()
; fun1();
}
0x28ff0c
0x28ff0c
結果:#include using namespace std;
int main()
; fun1();
}
outside i value:1024 addr:0x28ff08
inside i value:1024 addr:0x28ff04
結果:#include using namespace std;
int main()
; fun1();
}
outside i:0x28ff0c
outside j:0x28ff08
inside i:0x28ff00
inside j:0x28ff08
#include using namespace std;
class test
; void lambda() ;
fun();
}};
int main()
C Lambda表示式用法
c 11中的lambda表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda的語法形式如下 函式物件引數 操作符過載函式引數 mutable或exception宣告 返回值型別可以看到,lambda主要分為五個部分 函式物件引數 操作符過載函式引數 mutable或exception...
C Lambda表示式用法
c 11中的lambda表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda的語法形式如下 函式物件引數 操作符過載函式引數 mutable或exception宣告 返回值型別 可以看到,lambda主要分為五個部分 函式物件引數 操作符過載函式引數 mutable或exceptio...
C Lambda表示式的基本使用
目錄 1.認識 lambda 1.1.捕獲列表 1.2.形參列表 1.3.說明符 1.4.返回型別 1.5.函式體 2.基本使用 3.參考 lambda的基本語法如下 當定義乙個lambda時,編譯器生成乙個與lambda對應的新的 未命名的 類型別。下面對重要的組成部分進行說明 捕獲列表是零或多個...