> 백엔드 개발 > C++ > 본문

C++ 람다 표현식의 매개변수 목록을 공식화하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-04-18 09:00:02
원래의
502명이 탐색했습니다.

람다 표현식의 매개변수 목록 구문은 다음과 같습니다. [capture-list](매개변수) -> return-type { body }, 여기서: 캡처 목록은 외부 변수를 캡처합니다. 매개변수는 매개변수 목록입니다. 반환 유형은 반환 유형입니다. 본문은 함수 본문입니다.

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

C++ 람다 표현식의 매개변수 목록 공식화

람다 표현식은 외부 변수를 캡처하여 스택에 저장할 수 있는 C++의 간결하고 강력한 인라인 함수입니다. 람다 표현식의 매개변수 목록 구문은 다음과 같습니다.

[capture-list](parameters) -> return-type { body }
로그인 후 복사

capture-list는 캡처할 외부 변수를 지정하며 다음 값을 가질 수 있습니다.

  • [=]: 모두 캡처 외부 변수
  • [=]: 捕获所有外部变量
  • [&]: 捕获所有外部变量,并作为引用传递
  • [parameter1, parameter2, ...]: 捕获指定的外部变量
  • [parameter1, parameter2, ..., &parameter3, &parameter4, ...]: 既捕获指定的变量,又以引用形式捕获其他变量

parameters 指定 lambda 表达式的参数列表,语法与普通函数的参数列表相同。

return-type 指定 lambda 表达式的返回类型,可以是任何有效的 C++ 数据类型。

body 是 lambda 表达式的函数体,包含要执行的代码。

实战案例

考虑一个需要对整数列表进行排序的函数。我们可以使用 lambda 表达式定义一个比较函数:

auto compare = [](int a, int b) { return a > b; };
로그인 후 복사

在这个例子中,lambda 表达式捕获了外部变量 ab

我们也可以使用 lambda 表达式来创建匿名函数并立即执行:

auto print_name = [](string name) { cout << "Hello, " << name << endl; };
print_name("John Doe");
로그인 후 복사

这个 lambda 表达式捕获了外部变量 name,并将其作为参数传递给了 cout[&]: 모든 외부 변수를 캡처하고 참조로 전달

[parameter1, parameter2, ...]: 캡처 지정된 외부 변수

[parameter1, parameter2, ..., &parameter3, &parameter4, ...]: 지정된 변수와 기타 변수를 모두 참조 형식으로 캡처

🎜parameters🎜 람다 표현식의 매개변수 목록을 지정합니다. 구문은 일반 함수의 매개변수 목록과 동일합니다. 🎜🎜🎜return-type🎜 유효한 C++ 데이터 유형일 수 있는 람다 식의 반환 유형을 지정합니다. 🎜🎜🎜body🎜는 람다 표현식의 함수 본문이며 실행할 코드를 포함합니다. 🎜🎜🎜실용 사례🎜🎜🎜정수 목록을 정렬해야 하는 함수를 생각해 보세요. 람다 표현식을 사용하여 비교 함수를 정의할 수 있습니다. 🎜rrreee🎜이 예에서 람다 표현식은 외부 변수 ab를 캡처합니다. 🎜🎜람다 식을 사용하여 익명 함수를 만들고 즉시 실행할 수도 있습니다. 🎜rrreee🎜이 람다 식은 외부 변수 name을 캡처하여 cout에 매개 변수로 전달합니다. 기능. 🎜🎜사용자 지정 캡처 목록과 매개 변수 목록을 통해 람다 식은 C++에서 간결하고 유연하며 재사용 가능한 코드를 작성하기 위한 강력한 도구를 제공합니다. 🎜

위 내용은 C++ 람다 표현식의 매개변수 목록을 공식화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿