C++ 람다 표현식: 특정 시나리오를 위한 강력한 도구
소개
Lambda 표현식은 짧은 인라인 함수 개체를 생성할 수 있도록 C++에 도입된 익명 함수입니다. 선언이나 별도의 이름 지정이 필요하지 않은 간단한 작업을 처리하는 데 적합합니다.
Lambda 구문
Lambda 표현식은 다음 구문을 채택합니다.
[capture-list](parameters) -> return-type { body }
Use
Lambda 표현식은 다음 시나리오에서 특히 유용합니다.
std::sort
和 std::find
와 같은 표준 라이브러리 알고리즘에 매개변수로 전달됩니다. 실용 사례
1. 콜백 함수로
다음 코드는 람다 표현식을 사용하여 문자열을 대문자로 변환합니다.
#include <iostream> #include <string> using namespace std; int main() { string str = "hello"; transform(str.begin(), str.end(), str.begin(), [](char c) { return toupper(c); }); cout << str << endl; // 输出:HELLO return 0; }
2 STL 알고리즘 매개변수로
다음 코드는 람다를 사용합니다. 표현식 5보다 큰 첫 번째 숫자 찾기:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums = {1, 3, 5, 7, 9}; auto it = find_if(nums.begin(), nums.end(), [](int n) { return n > 5; }); if (it != nums.end()) { cout << "找到了第一个大于 5 的数字:" << *it << endl; // 输出:7 } else { cout << "没有找到大于 5 的数字" << endl; } return 0; }
3. 클로저로
다음 코드는 람다 표현식을 사용하여 클로저를 생성하는 방법을 보여줍니다.
#include <iostream> using namespace std; int main() { int x = 10; auto f = [x](int y) { return x + y; }; cout << f(5) << endl; // 输出:15 return 0; }
참고: 이름이 지정된 함수와 비교하여 람다 표현식이 있습니다. 다음 제한 사항:
람다 식을 사용할 때 장점과 한계를 신중하게 평가하여 특정 시나리오에 가장 적합한 선택인지 결정하세요.
위 내용은 C++ 람다 표현식은 어떤 시나리오에서 특히 유용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!