Heim > Artikel > Backend-Entwicklung > Welche Verwendungsszenarien gibt es für Lambda-Ausdrücke in C++-Funktionen?
Lambda-Ausdrücke sind anonyme Funktionen, die zur Vereinfachung von Code, als Rückruffunktionen oder als parametrisierte Funktionen verwendet werden können. Zu den Vorteilen gehören die Vereinfachung des Codes, die Reduzierung der Redundanz und die Erhöhung der Flexibilität.
Verwendungsszenarien von Lambda-Ausdrücken in C++-Funktionen
Lambda-Ausdruck ist eine anonyme Funktion, die innerhalb des Funktionskörpers definiert und verwendet werden kann. Im Gegensatz zu gewöhnlichen Funktionen haben Lambda-Ausdrücke keinen Namen und können nur innerhalb des definierten Bereichs verwendet werden.
Verwendungsszenarien:
#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; }
Vorteile:
Das obige ist der detaillierte Inhalt vonWelche Verwendungsszenarien gibt es für Lambda-Ausdrücke in C++-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!