lambda 表達式是匿名函數,可用於簡化程式碼、作為回調函數或參數化函數,優點包括簡化程式碼、減少冗餘和提高靈活性。
C 函數中lambda 表達式的使用情境
lambda 表達式是一種匿名函數,可以在函數體內定義和使用。與普通函數不同,lambda 表達式沒有名稱,並且只能在定義它的作用域內使用。
使用場景:
#include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 lambda 表达式增加每个元素 std::for_each(numbers.begin(), numbers.end(), [](int& n) { n++; }); // 打印增加后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 5, 2, 4, 3}; // 使用 lambda 表达式对列表排序 std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); // 打印排序后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
#include <iostream> #include <vector> void for_each(std::vector<int>& numbers, std::function<void(int&)> operation) { for (int& num : numbers) { operation(num); } } int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 lambda 表达式参数化 for_each 函数 for_each(numbers, [](int& n) { n *= n; }); // 打印平方后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
優點:
以上是C++ 函式的 lambda 표達式的使用場景是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!