Rumah >pembangunan bahagian belakang >C++ >Apakah senario penggunaan ungkapan lambda dalam fungsi C++?
Ekspresi Lambda ialah fungsi tanpa nama yang boleh digunakan untuk memudahkan kod, berfungsi sebagai fungsi panggil balik atau fungsi berparameter Kelebihannya termasuk memudahkan kod, mengurangkan redundansi dan meningkatkan fleksibiliti.
Senario penggunaan ungkapan lambda dalam fungsi C++
Ungkapan lambda ialah fungsi tanpa nama yang boleh ditakrifkan dan digunakan dalam badan fungsi. Tidak seperti fungsi biasa, ungkapan lambda tidak mempunyai nama dan hanya boleh digunakan dalam skop di mana ia ditakrifkan.
Senario penggunaan:
#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; }
Kelebihan:
Atas ialah kandungan terperinci Apakah senario penggunaan ungkapan lambda dalam fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!