使用 C Lambda 表達式自訂排序規則,可靈活定義排序邏輯。語法為:[capture list](parameters) -> return type { body }。實戰案例中,lambda 表達式 sortLambda 依字串長度排序,輸出為:dog、apple、banana、cherry、elephant。
用C Lambda 表達式自訂排序規則
Lambda 表達式是一種匿名函數,可以在C 中使用來定義自訂排序規則。它提供了簡單且靈活的方式,使您可以根據自訂邏輯對資料進行排序。
語法
典型的lambda 表達式語法如下:
[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
使用此 lambda 表達式對字串向量進行排序,按字串的長度升序排列。
以上是用 C++ lambda 表達式自訂排序規則如何實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!