C++ Lambda 표현식을 사용하여 정렬 규칙을 사용자 정의하여 정렬 논리를 유연하게 정의하세요. 구문은 다음과 같습니다: [캡처 목록](매개변수) -> 반환 유형 { 본문 }. 실제 경우 람다 식 sortLambda는 문자열 길이를 기준으로 정렬하고 출력은 개, 사과, 바나나, 체리, 코끼리입니다.
C++ 람다 표현식을 사용한 사용자 정의 데이터 정렬
Lambda 표현식은 C++에서 사용자 정의 데이터 정렬을 정의하는 데 사용할 수 있는 익명 함수입니다. 이는 사용자 정의 논리를 기반으로 데이터를 정렬하는 쉽고 유연한 방법을 제공합니다.
Syntax
일반적인 람다 식 구문은 다음과 같습니다.
[capture list](parameters) -> return type { body }
위치:
캡처 목록
: 선택 사항, 외부 변수에 대한 참조를 캡처하는 데 사용됩니다. capture list
:可选,用于捕获对外部变量的引用。parameters
:可选,用于获取输入参数。-> return type
:可选,用于指定返回类型。body
:函数体,包含要执行的代码。实战案例
下面是一个使用 lambda 表达式自定义排序规则的实战案例,用于对一个字符串向量按其长度排序:
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<string> strings = {"apple", "banana", "cherry", "dog", "elephant"}; // 定义 lambda 表达式,将字符串按长度排序 auto sortLambda = [](const string& a, const string& b) { return a.length() < b.length(); }; // 使用 lambda 表达式对向量排序 sort(strings.begin(), strings.end(), sortLambda); // 打印排序后的向量 for (const string& s : strings) { cout << s << endl; } return 0; }
输出
dog apple banana cherry elephant
在这个示例中,lambda 表达式 sortLambda
捕获了对外部变量 a
和 b
的引用,并返回 a
的长度是否小于 b
的长度。排序函数 sort
매개변수
: 선택사항이며 입력 매개변수를 얻는 데 사용됩니다.
-> 반환 유형
: 선택 사항이며 반환 유형을 지정하는 데 사용됩니다. 🎜body
: 실행할 코드가 포함된 함수 본문입니다. 🎜🎜실용 사례🎜🎜🎜다음은 문자열 벡터를 길이별로 정렬하는 데 사용되는 정렬 규칙을 사용자 정의하기 위해 람다 표현식을 사용하는 실제 사례입니다: 🎜rrreee🎜🎜Output🎜🎜rrreee 🎜 이 예에서 람다 식 sortLambda
는 외부 변수 a
및 b
에 대한 참조를 캡처하고 a
를 반환합니다. 코드 길이>가 b
길이보다 작습니다. 정렬 함수 sort
는 이 람다 표현식을 사용하여 문자열 벡터를 길이의 오름차순으로 정렬합니다. 🎜위 내용은 C++ 람다 표현식을 사용하여 사용자 정의 정렬 규칙을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!