C 11 標準 Lambda表示式

2021-07-01 20:10:26 字數 661 閱讀 4983

c++ 11標準新增加了lambda表示式,以後小函式可以直接內嵌lambda表示式搞定了。例如排序,我們以前要這麼寫:

#include #include #include bool compare( const int & a, const int & b )

using namespace std;

int main ( )

; sort( a, a+9, compare );

for ( int i = 0 ; i < 9 ; i ++ )

cout << a[i] << endl;

return exit_success;

}

用c++ 11標準的lambda表示式,這麼寫就行了:

#include #include #include using namespace std;

int main ( )

; sort( a, a+9, ( const int & a, const int & b )->bool );

for ( int i = 0 ; i < 9 ; i ++ )

cout << a[i] << endl;

return exit_success;

}

C 11 標準 Lambda表示式

c 11標準新增加了lambda表示式,以後小函式可以直接內嵌lambda表示式搞定了。例如排序,我們以前要這麼寫 include include include bool compare const int a,const int b using namespace std intmain sor...

c 11之lambda表示式

c 11中的lambda表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda的語法形式如下 函式物件引數 操作符過載函式引數 mutable或exception宣告 返回值型別 可以看到,lambda主要分為五個部分 函式物件引數 操作符過載函式引數 mutable或exceptio...

C 11之lambda表示式

lambda表示式就是匿名函式,例如 auto fun int a,int b lambda的格式如下 捕獲列表 引數 捕獲列表有下面幾種 不捕獲任何變數 捕獲外部作用域的所有變數,並作為引用在函式體內使用 按引用捕獲 捕獲外部作用域的所有變數,並作為副本在函式體內使用 按值捕獲 foo 按值捕獲外...