重複の可能性:
C++11ラムダ式の最後の括弧
#include <iostream>
int main(int argc, char* argv[])
{
int j;
[&](){j = 10;}(); // why I need the last rounded parentheses () and what is their purpose ?
// ...
return(0);
}
私はラムダがどのように機能するかについてほとんどすべてを理解しています。私の最後の質問は、上記のコードで報告されているような最後の2つの括弧が必要な理由についてです。
ラムダの青写真は
[](){}
また、ここで参照によりラムダの入力を取得しています。このラムダを直接書き込んでいますが、最後j
に余分な値を入れないと、このラムダが未使用の値を生成するという事実についてコンパイラが文句を言います。()
ラムダの。
だから、結局、ラムダはこれです
[](){}
またはこれ
[](){}()
?