2

誰でも次のコードを理解するのを手伝ってもらえますか

#include <iostream>
using namespace std;

int main()
{
    auto hello = []() -> void {
        cout << "Hello World";
    };

    // Call the lambda function
    hello();
}

auto hello = []() -> voidここの用途は何ですか?中括弧の後の終端セミコロンの意味がわかりません (7 行目)

4

1 に答える 1

7

1行のように読んでください:

auto hello = []() -> void { cout << "Hello World"; };

helloラムダを保持する変数です

  • []外部変数 ( ) をキャプチャしません。
  • パラメータを取らない ( ()),
  • 戻り値void( -> void、これは「末尾の戻り値の型」と呼ばれ、通常の関数と同じようにラムダの戻り値の型を指定します。これは実際にはここでは不要です。)、および
  • 本体内の単一のcoutステートメントで構成されます。

明示的に呼び出される次の行まで、実際には実行されません。

于 2013-03-09T17:26:07.827 に答える