함수 포인터를 람다 식으로 바꾸면 가독성이 향상되고 상용구 코드가 줄어들며 재사용성이 높아집니다. 특히 람다 식은 [캡처 목록](매개변수 목록) -> 반환 유형 {body} 구문을 사용하며, 코드 단순성과 유지 관리성을 향상시키기 위해 벡터 정렬과 같은 실제 사례에 사용할 수 있습니다.
함수 포인터를 C++ Lambda 표현식으로 대체
Lambda 표현식은 C++11에서 도입되었으며 익명 함수 또는 함수 포인터를 정의하는 간단한 방법을 제공합니다. 함수 포인터를 람다 식으로 바꾸면 다음과 같은 많은 이점이 있습니다.
구문
람다 식의 구문은 다음과 같습니다.
[capture list](parameter list) -> return type { body }
예
다음은 함수 포인터를 람다 식으로 바꾸는 예입니다.
// 函数指针方式 int compare(int a, int b) { return a - b; } // Lambda 表达式方式 auto compare = [](int a, int b) { return a - b; };
실용 사례: 벡터 정렬
실용 사례에서 람다 식의 장점을 확인할 수 있습니다.
#include <vector> #include <algorithm> int main() { std::vector<int> v = { 1, 5, 3, 2, 4 }; // 用 lambda 表达式对向量进行排序 std::sort(v.begin(), v.end(), [](int a, int b) { return a < b; }); // 打印排序后的向量 for (int x : v) { std::cout << x << " "; } return 0; }
In 이 경우 람다 표현식은 벡터를 정렬하는 데 사용되는 비교 함수를 정의하는 데 사용됩니다. 별도의 함수를 정의할 필요가 없고, 코드가 더 단순해지고 이해하기 쉬워졌습니다.
위 내용은 함수 포인터를 C++ 람다 표현식으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!