Dalam C++, ungkapan lambda boleh digunakan untuk menapis dan mengubah data dengan mudah. Sebagai contoh, anda boleh menggunakan ungkapan lambda untuk menapis elemen ganjil dalam bekas, mengubah elemen dalam bekas, menapis dan mengubah bekas bersekutu, menggunakan ungkapan lambda dalam algoritma dan lulus ungkapan lambda sebagai hujah fungsi. Kaedah ini boleh menjadikan tugas pemprosesan data lebih mudah dan lebih cekap.
Contoh praktikal menggunakan ungkapan lambda C++ untuk penapisan dan transformasi data
Ekspresi lambda sangat berguna dalam C++, terutamanya apabila menapis dan mengubah data. Berikut adalah beberapa contoh aplikasi praktikal:
1. Tapis elemen dalam bekas
std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // 使用 lambda 表达式过滤奇数 std::vector<int> odd_numbers = std::filter(numbers.begin(), numbers.end(), [](int n) { return n % 2 != 0; });
2 Transform elemen dalam bekas
std::vector<double> squares = std::transform(numbers.begin(), numbers.end(), [](int n) { return n * n; });
3. Tapis dan ubah bekas yang berkaitan .
ungkapan dalam algoritma
std::map<int, std::string> name_age = { {1, "John"}, {2, "Mary"}, {3, "Bob"}, {4, "Alice"} }; // 过滤年龄大于 2 的人 auto filtered_name_age = std::map<int, std::string>(name_age.begin(), name_age.end(), [](const std::pair<int, std::string>& p) { return p.second.size() > 2; });
5. Melepasi ungkapan lambda sebagai parameter fungsi
std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 从大到小排序
Atas ialah kandungan terperinci Apakah beberapa contoh praktikal menggunakan ungkapan lambda C++ untuk penapisan dan transformasi data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!