ホームページ  >  記事  >  バックエンド開発  >  C++ラムダ式のパラメータリストをどのように定式化するか?

C++ラムダ式のパラメータリストをどのように定式化するか?

WBOY
WBOYオリジナル
2024-04-18 09:00:02491ブラウズ

Lambda 式のパラメータ リストの構文は次のとおりです: [capture-list](parameters) -> return-type { body }、ここで: Capture-list は外部変数をキャプチャします。パラメータはパラメータのリストです。 return-type は戻り値の型です。 body は関数本体です。

C++ lambda 表达式的参数列表如何制定?

C ラムダ式のパラメータ リストの定式化

ラムダ式は C の簡潔で強力なインライン関数であり、外部変数は次のとおりです。キャプチャされ、スタックに保存されます。ラムダ式のパラメータ リスト構文は次のとおりです。

[capture-list](parameters) -> return-type { body }

capture-list キャプチャする外部変数を指定します。次の値を指定できます。

  • [ =]: すべての外部変数をキャプチャします
  • [&]: すべての外部変数をキャプチャし、参照として渡します
  • [parameter1、parameter2、..]: 指定された外部変数をキャプチャします。
  • [parameter1、parameter2、...、&parameter3、&parameter4、...]: 両方をキャプチャします。指定された変数と参照フォームは他の変数をキャプチャします。

parameters ラムダ式のパラメータ リストを指定します。構文は通常の関数のパラメータ リストと同じです。

return-type ラムダ式の戻り型を指定します。有効な C データ型であればどれでも構いません。

body はラムダ式の関数本体であり、実行されるコードが含まれます。

実践的なケース

整数のリストを並べ替える必要がある関数を考えてみましょう。ラムダ式を使用して比較関数を定義できます。

auto compare = [](int a, int b) { return a > b; };

この例では、ラムダ式は外部変数 ab をキャプチャします。

ラムダ式を使用して匿名関数を作成し、すぐに実行することもできます。

auto print_name = [](string name) { cout << "Hello, " << name << endl; };
print_name("John Doe");

このラムダ式は、外部変数 name をキャプチャし、パラメータとして渡します。 ##cout 関数が与えられています。

ラムダ式は、キャプチャ リストと引数リストをカスタマイズすることにより、C で簡潔かつ柔軟で再利用可能なコードを作成するための強力なツールを提供します。

以上がC++ラムダ式のパラメータリストをどのように定式化するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。