匿名函數,又稱為lambda表達式,是一種不指定名稱的函數,用於一次性使用或傳遞函數指標。特點有:匿名性、一次性使用、閉包、回傳類型推論。實戰中常用於排序或其他一次性函數呼叫。
C 匿名函數的用法與特性
匿名函數,也稱為Lambda表達式,是一種在定義時不指定名稱的函數,通常用於定義一次性使用的函數,或在需要傳遞函數指標時使用。
語法
Lambda表達式的基本語法如下:
[capture list] (parameters) -> return type { function body }
auto
關鍵字,可以指定要捕獲的變數名稱或引用。 特點
實戰案例
以下是使用Lambda表達式排序向量的範例:
#include <vector> #include <algorithm> int main() { std::vector<int> vec = { 1, 3, 2, 5, 4 }; // 使用Lambda表达式对向量排序 std::sort(vec.begin(), vec.end(), [](int a, int b) { return a < b; }); // 输出排序后的向量 for (auto& elem : vec) { std::cout << elem << " "; } std::cout << std::endl; return 0; }
輸出:
1 2 3 4 5
以上是C++ 匿名函式的用法和特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!