C++ 람다 표현식은 [캡처 목록](매개변수) -> return_type {function body} 구문을 사용하여 함수를 인라인으로 정의하는 데 사용되는 익명 함수입니다. 외부 범위의 변수를 캡처하고, 매개변수를 전달하고, 반환 유형을 지정할 수 있습니다. 람다 표현식은 함수를 매개변수로 전달하거나 매개변수 전달, 변수 캡처, 목록 정렬과 같은 일부 컨텍스트에서 함수를 정의해야 할 때 사용됩니다.
C++ 람다 표현식: 정의 및 사용법
소개
Lambda 표현식은 인라인 함수를 간결한 방식으로 정의할 수 있는 C++ 언어의 특별한 익명 함수입니다. 함수를 매개변수로 전달하거나 일부 컨텍스트에서 함수를 정의해야 하는 상황에서 널리 사용됩니다.
Syntax
람다 식 구문은 다음과 같습니다.
[capture list](parameters) -> return_type { // 函数体 }
캡처 목록
캡처 목록은 람다 식의 외부 범위에 있는 변수를 캡처하는 데 사용됩니다. 변수는 값이나 참조로 캡처할 수 있습니다.
Parameters
매개변수 목록을 사용하면 매개변수를 람다 표현식에 전달할 수 있습니다.
반환 유형
람다 식이 값을 반환하는 경우 반환 유형을 지정해야 합니다. 그렇지 않은 경우 반환 유형은 void
이어야 합니다.
함수 본문
일반 함수와 마찬가지로 함수 본문에는 람다 표현식으로 사용할 코드가 포함되어 있습니다.
Usage
다음은 람다 표현식의 몇 가지 사용 예입니다.
기본 예
[]() { std::cout << "Hello, world!" << std::endl; }();
매개변수 전달
int add(int a, int b) { return a + b; } [] (int a, int b) { return a + b; }(5, 6); // 调用 lambda 表达式
변수 캡처
int x = 10; [x] () { std::cout << "Value of x: " << x << std::endl; }();
실용 사례
필요한 쌍 목록을 고려하세요. 예 숫자 정렬:
std::vector<int> numbers = {2, 5, 1, 3, 4}; std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); for (auto num : numbers) { std::cout << num << " "; }
출력:
1 2 3 4 5
Conclusion
Lambda 표현식은 C++에서 인라인 함수를 정의하는 강력한 도구입니다. 코드를 단순화하고 가독성을 높이며 상용구 코드의 필요성을 줄입니다. 구문, 사용법 및 실제 예제를 이해하면 람다 식을 효과적으로 사용하여 다양한 프로그래밍 문제를 해결할 수 있습니다.
위 내용은 C++ 람다 표현식을 정의하고 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!