ホームページ > バックエンド開発 > C++ > C++ ラムダ式を定義して使用するにはどうすればよいですか?

C++ ラムダ式を定義して使用するにはどうすればよいですか?

WBOY
リリース: 2024-04-17 09:51:01
オリジナル
620 人が閲覧しました

C ラムダ式は匿名関数であり、構文 [キャプチャ リスト](パラメータ) -> return_type {関数本体} を使用して関数をインラインで定義するために使用されます。外側のスコープで変数をキャプチャし、パラメータを渡し、戻り値の型を指定できます。ラムダ式は、パラメータの受け渡し、変数のキャプチャ、リストの並べ替えなど、関数をパラメータとして渡す必要がある場合、または何らかのコンテキストで関数を定義する必要がある場合に使用されます。

C++ lambda 表达式如何定义和使用?

C ラムダ式: 定義と使用法

はじめに
ラムダ式は C の特別なものですインライン関数を簡潔な方法で定義できる言語の匿名関数の一種。これらは、関数をパラメータとして渡す必要がある場合や、何らかのコンテキストで関数を定義する必要がある状況で広く使用されています。

構文
ラムダ式の構文は次のとおりです。

[capture list](parameters) -> return_type {
  // 函数体
}
ログイン後にコピー

キャプチャ リスト
キャプチャ リストは、ラムダ式変数の外側のスコープ。変数は値または参照によって取得できます。

パラメータ
パラメータ リストを使用すると、パラメータをラムダ式に渡すことができます。

戻り値の型
ラムダ式が値を返す場合は、戻り値の型を指定する必要があります。それ以外の場合、戻り値の型は void である必要があります。

関数本体
通常の関数と同様に、関数本体にはラムダ式として使用されるコードが含まれます。

使用法
ラムダ式の使用例をいくつか示します:

基本的な例

[]() { std::cout << "Hello, world!" << std::endl; }();
ログイン後にコピー

パラメータの受け渡し

int add(int a, int b) { return a + b; }

[] (int a, int b) { return a + b;  }(5, 6); // 调用 lambda 表达式
ログイン後にコピー

変数のキャプチャ

int x = 10;
[x] () { std::cout << "Value of x: " << x << std::endl; }();
ログイン後にコピー

実用的なケース
リスト内の数値を並べ替える必要がある例を考えてみましょう。 :

std::vector<int> numbers = {2, 5, 1, 3, 4};

std::sort(numbers.begin(), numbers.end(),
    [](int a, int b) { return a < b; });

for (auto num : numbers) {
    std::cout << num << " ";
}
ログイン後にコピー

出力:

1 2 3 4 5
ログイン後にコピー

結論
ラムダ式は、C でインライン関数を定義するための強力なツールです。コードを簡素化し、可読性を向上させ、定型コードの必要性を減らします。ラムダ式の構文、使用法、実際の例を理解することで、ラムダ式を効果的に使用してさまざまなプログラミングの問題を解決できるようになります。

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

関連ラベル:
c++
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート