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

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

王林
王林オリジナル
2024-04-12 15:51:01522ブラウズ

ラムダ式は、1 回限りの関数を作成するために使用される C の匿名関数です。これらはキャプチャ リストを通じて外部スコープ変数にアクセスし、パラメータを受け取って戻り値の型を定義できます。ラムダ式は、実行時に関数をすばやく作成したり渡したりするためによく使用されます。これらは左辺値と右辺値にアクセスでき、ステートフルまたはステートレスにすることができます。

C++ 中如何使用lambda表达式?

C でのラムダ式の使用

ラムダ式は、無名関数として一度定義できる C の強力な機能です。これらは通常、関数を迅速に作成する必要がある場合や、実行時に渡す必要がある場合に使用されます。

文法

ラムダ式の一般的な構文は次のとおりです:

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

その中には:

  • capture list : これは、ラムダ式がアクセスできる外側のスコープ内の変数を指定するキャプチャ リストです。
  • parameters: これは、ラムダ式関数のパラメーターのリストです。
  • return_type: これはラムダ式関数の戻り値の型です。
  • body: これはラムダ式関数の関数本体です。

実際的なケース

文字列を大文字に変換するラムダ式を作成しましょう:

auto to_upper = [](const std::string& s) -> std::string {
    std::string result;
    for (char c : s) {
        result.push_back(std::toupper(c));
    }
    return result;
};

このラムダ式を使用すると、次のことができます。例:

std::string my_string = "hello, world";
std::string upper_string = to_upper(my_string);

upper_string には、変換された文字列「HELLO, WORLD」が含まれるようになります。

#Note

    ラムダ式は、名前を付けることができない匿名関数です。
  • キャプチャ リスト内の変数は、外部スコープで定義された変数である必要があります。
  • ラムダ式は左辺値と右辺値にアクセスできます。
  • ラムダ式はステートフルまたはステートレスにすることができます。ステートフル ラムダ式は変数を取得して変更しますが、ステートレス ラムダ式は変数を読み取るだけです。

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

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