C++ ラムダ式は return ステートメントを使用して結果を返すことができます: 構文: [capture-list] (parameters) -> return-type { // Function body // return Expression } 実践的な戦闘: ラムダ式はフィルタリングに使用できます。奇数を計算し、その合計を計算します: int sum_odd = std::accumulate(numbers.begin(),numbers.end(), 0, [](int sum, int num) { if (数値 % 2 == 1) { 合計 + 数値を返します。 } 合計を返します。 });
C++ ラムダ式: 結果を返すメカニズム
ラムダ式は、短くて単純なコード ブロックを表すために使用できる C++ の匿名関数です。構文で return
ステートメントを使用すると、ラムダ式で結果を返すことができます。 return
语句。
语法:
[capture-list] (parameters) -> return-type { // 函数体 return expression; // 返回结果 };
实战案例:
假设我们有一个容器 numbers
,我们需要返回该容器中所有奇数的总和。我们可以使用 Lambda 表达式如下:
#include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // 使用 Lambda 表达式过滤奇数 int sum_odd = std::accumulate(numbers.begin(), numbers.end(), 0, [](int sum, int num) { if (num % 2 == 1) { return sum + num; } return sum; }); std::cout << "奇数总和:" << sum_odd << std::endl; return 0; }
说明:
[sum, num]
是捕获列表,它包含我们需要的外部变量。(sum, num)
是参数列表,它接收两个参数:sum
为累加值,num
为容器中的当前值。-> int
指定了返回类型,在本例中为 int
。num
是否为奇数,如果是,则将其添加到 sum
中并返回,否则返回 sum
。std::accumulate
函数将 Lambda 表达式用作二元运算符,将容器中的所有奇数累加到 sum_odd
numbers
があり、コンテナ内のすべての奇数の合計を返す必要があるとします。 Lambda 式は次のように使用できます: 🎜rrreee🎜🎜説明: 🎜🎜[sum, num]
はキャプチャ リストであり、外部に必要なものが含まれています。変数。 🎜(sum, num)
はパラメータ リストで、2 つのパラメータを受け取ります。sum
は累積値、num
は累積値です。コンテナ内の値 現在の値。 🎜-> int
は戻り値の型を指定します (この場合は int
)。 🎜num
が奇数かどうかを確認し、奇数の場合はそれを sum
に追加して返します。それ以外の場合は sum を返します。 コードコード>。 🎜<li>最後に、<code>std::accumulate
関数は、ラムダ式を二項演算子として使用して、コンテナ内のすべての奇数を sum_odd
に累積します。 🎜🎜🎜上記の方法を使用すると、ラムダ式を使用して関数から簡単に結果を返すことができます。 🎜以上がC++ ラムダ式はどのように結果を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。