2014-02-21 49 views
5

我看到了這樣的一段代碼:是什麼[和]意味着C++

Foo(
    [&](int a){ 
    ... 
    } 
); 

似乎是一個內部函數,但是爲什麼有[&]

+0

看起來像傳遞lambda函數與捕獲到foo捕獲在lambda的主體中提到的所有自動變量。 ..http://www.cprogramming.com/c++11/c++11-lambda-closures.html – IdeaHat

+0

閱讀[匿名函數(也稱爲lambda函數/表達式)](http:// en。 wikipedia.org/wiki/Anonymous_function#C.2B.2B_.28since_C.2B.2B11.29)。 –

+0

它適用於C++ 11 lambda表達式。更多信息在http://stackoverflow.com/questions/7627098/what-is-a-lambda-expression-in-c11 – andand

回答

3

這是一個lambda,所述[&]意味着:

通過引用