1. 程式人生 > >C++11 lambda使用

C++11 lambda使用

lambda是匿名函式,可以拿來當作inline函式使用(用於解決程式設計師的“起名困難綜合症”)

lambda函式形式:[...] (...) ... {...}

[] 內是一個capture,可以在lambda內部訪問的"nonstatic外部變數",如果沒有要訪問的變數,可以為空。static變數是可以直接被訪問的。

() 內是引數,和函式引數一樣。

... 是mutable, 異常明細, 屬性說明符(noexcept等), 或者返回型別。如果其中之一出現,那麼必須出現()。

{} 內是函式體,在這裡面寫明lambda要完成的工作。

例如:

#include <iostream>

using namespace std;

int main()
{
    []() { cout << "hello, world" << endl; }();
    return 0;
}