Lambda 표현식은 다음 구문을 사용하는 익명 함수입니다. [캡처 목록](매개변수 목록) -> 반환 유형 {함수 본문} 캡처 목록은 주변 환경에서 캡처할 변수를 지정하고, 매개변수 목록은 매개변수 목록을 지정합니다. , 반환 유형은 반환 유형을 지정하고 함수 본문은 함수 본문을 정의합니다. 캡처 변수는 참조로 캡처되며, 캡처 목록, 매개변수 목록, 반환 유형을 통해 유형을 유추할 수 있습니다.
람다 표현식은 명시적인 함수를 정의하지 않고도 호출 가능한 객체를 생성할 수 있는 익명 함수입니다. 구문은 다음과 같습니다.
[capture list] (parameter list) -> return type { function body }
위치:
다음은 몇 가지 예입니다.
// Capture 变量 x 并返回 x 的平方 auto square = [](int x) { return x * x; }; // 捕获变量 y 并返回 y 的立方 auto cube = [&](int y) { return y * y * y; };
참고:
다음은 람다 표현식을 사용한 간단한 예입니다.
#include <iostream> #include <vector> using namespace std; int main() { // 使用 lambda 表达式对向量中的每个元素平方 vector<int> numbers = {1, 2, 3, 4, 5}; for_each(numbers.begin(), numbers.end(), [](int& num) { num *= num; }); // 使用 lambda 表达式对向量进行排序 sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 打印排序后的向量 for (int num : numbers) { cout << num << " "; } cout << endl; return 0; }
위 내용은 C++ 람다 표현식의 구문 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!