C++ 람다 표현식은 return 문을 사용하여 결과를 반환할 수 있습니다. 구문: [capture-list] (매개변수) -> return-type { // 함수 본문 // return 표현식 } 실용적인 전투: 람다 표현식을 사용하여 필터링할 수 있습니다. 홀수를 계산하고 그 합을 계산합니다: int sum_odd = std::accumulate(numbers.begin(), Numbers.end(), 0, [](int sum, int num) { if (숫자 % 2 == 1) { 합계 + 숫자를 반환합니다. } 반환 금액; });
C++ 람다 표현식: 결과 반환 메커니즘
Lambda 표현식은 짧고 간단한 코드 블록을 나타내는 데 사용할 수 있는 C++의 익명 함수입니다. 구문에 return
문을 사용하여 Lambda 표현식으로 결과를 반환할 수 있습니다. 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
숫자
컨테이너가 있고 컨테이너에 있는 모든 홀수의 합계를 반환해야 한다고 가정합니다. 다음과 같이 Lambda 표현식을 사용할 수 있습니다. 🎜rrreee🎜🎜설명: 🎜🎜[sum, num]
는 외부에 필요한 항목이 포함된 캡처 목록입니다. 변수. 🎜(sum, num)
는 두 개의 매개변수를 받는 매개변수 목록입니다. sum
은 누적된 값이고 num
은 컨테이너의 값 현재 값입니다. 🎜-> int
는 반환 유형을 지정합니다(이 경우 int
). 🎜num
이 홀수인지 확인합니다. 그렇다면 sum
에 추가하여 반환하고, 그렇지 않으면 sum을 반환합니다. 코드 코드>. 🎜<li>마지막으로 <code>std::accumulate
함수는 Lambda 표현식을 이진 연산자로 사용하여 컨테이너의 모든 홀수를 sum_odd
에 누적합니다. 🎜🎜🎜위 방법을 사용하면 람다 표현식을 사용하여 함수의 결과를 쉽게 반환할 수 있습니다. 🎜위 내용은 C++ Lambda 표현식은 어떻게 결과를 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!