在C++中,lambda表達(dá)式是一種用于創(chuàng)建匿名函數(shù)的特殊語法。它允許我們在需要函數(shù)對象的地方內(nèi)聯(lián)定義一個(gè)函數(shù),而無需顯式命名函數(shù)。
下面是一些常見的lambda表達(dá)式的應(yīng)用示例:
1. 作為函數(shù)參數(shù):
#include// lambda作為函數(shù)參數(shù) void performOperation(int a, int b, std::function operation) { int result = operation(a, b); std::cout << "結(jié)果為:" << result << std::endl; } int main() { int x = 10; int y = 5; // 使用lambda作為函數(shù)參數(shù) performOperation(x, y, [](int a, int b) { return a + b; }); return 0; }
2. 在算法中使用:
#include#include #include int main() { std::vector numbers = {5, 3, 8, 2, 1, 9}; // 使用lambda表達(dá)式進(jìn)行排序 std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); // 打印排序后的結(jié)果 for (int num : numbers) { std::cout << num << " "; } return 0; }
3. 捕獲外部變量:
#includeint main() { int x = 5; int y = 10; // 使用lambda表達(dá)式捕獲外部變量 auto sum = [x, y]() { return x + y; }; std::cout << "和為:" << sum() << std::endl; return 0; }
這些示例展示了lambda表達(dá)式在C++中的幾種常見應(yīng)用方式。你可以根據(jù)具體的需求,在合適的地方使用lambda表達(dá)式來簡潔地定義匿名函數(shù)。