C++ Lambda 表達式是方便的函數式程式設計工具,語法為:[capture_list] (parameter_list) -> return_type { body }實踐案例:排序:以字串長度對單字清單排序過濾:過濾可被3整除的數字列表
在C++ 中,lambda 表達式是最方便的方式,可以傳遞程式碼區塊作為函數參數或值返回。它們簡潔的語法和強大的功能使其成為函數式程式設計的有力工具。
lambda 表達式具有以下語法格式:
[capture_list] (parameter_list) -> return_type { body }
1. 排序案例
使用lambda 表達式以字串長度對單字列表進行排序:
#include <vector> #include <algorithm> int main() { std::vector<std::string> words = {"Hello", "World", "Lambda", "Expression"}; std::sort(words.begin(), words.end(), [](const std::string& a, const std::string& b) { return a.size() < b.size(); }); for (const auto& word : words) { std::cout << word << "\n"; } return 0; }
輸出:
Hello Lambda World Expression
2. 過濾案例
過濾出可被3 整除的數字列表:
#include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; std::vector<int> filteredNumbers; std::copy_if(numbers.begin(), numbers.end(), std::back_inserter(filteredNumbers), [](int number) { return number % 3 == 0; }); for (const auto& number : filteredNumbers) { std::cout << number << "\n"; } return 0; }
輸出:
3 6 9
以上是C++ Lambda 表達式如何用於函數式程式設計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!