c lambda的使用和介紹

2021-09-25 18:47:11 字數 971 閱讀 4071

lambda 表示式具體形式如下:

[capture list]

(params list) mutable exception-

>

return

type

各項具體含義如下

capture list:捕獲外部變數列表

params list:形參列表

mutable指示符:用來說用是否可以修改捕獲的變數

exception:異常設定

return type:返回型別

function body:函式體

// 沒有定義任何變數。使用未定義變數會引發錯誤。

[x, &y] // x以傳值方式傳入(預設),y以引用方式傳入。

[&] // 任何被使用到的外部變數都隱式地以引用方式加以引用。

[=] // 任何被使用到的外部變數都隱式地以傳值方式加以引用。

[&, x] // x顯式地以傳值方式加以引用。其餘變數以引用方式加以引用。

[=, &z] // z顯式地以引用方式加以引用。其餘變數以傳值方式加以引用。

int

main()

(x, y)

; cout << z << endl;

cout << x << endl;

cout << y << endl;

return0;

}

列印結果:

20911

20

**剖析:

[&x,y] : &x, 表示把x的位址傳進去, 在裡面修改x值,外面的x的值跟著改變 ,y表示把值傳進去, 修改y不改變外部y的值

(int &a,int b) 傳位址 需要使用&符號

(x,y) 閉包執行方法,傳入的引數

C lambda 和 函式物件

include include include include include include using namespace std intadd const int a,const int b intsub const int a,const int b struct mulitiply int...

C Lambda表示式的基本使用

目錄 1.認識 lambda 1.1.捕獲列表 1.2.形參列表 1.3.說明符 1.4.返回型別 1.5.函式體 2.基本使用 3.參考 lambda的基本語法如下 當定義乙個lambda時,編譯器生成乙個與lambda對應的新的 未命名的 類型別。下面對重要的組成部分進行說明 捕獲列表是零或多個...

C Lambda函式(匿名函式) 使用方法

乙個lambda表示式表示乙個可呼叫的 單元,可以理解為未命名的內聯函式。乙個lambda表示式具有返回型別 引數列表 函式體。一般lambda表示式具有如下的形式 capture list parameter list return type其中 capture list 捕獲列表 lambda表...