#include <iostream>
#include <functional>
int main() {
// 定义一个匿名函数(lambda表达式),它接受两个整数参数并返回它们的和
auto add = [](int a, int b) -> int {
return a + b;
};
// 使用匿名函数
int result = add(5, 3);
std::cout << "The result is: " << result << std::endl;
// 匿名函数可以捕获外部变量
int x = 10;
auto multiplyByX = [x](int y) -> int {
return x * y;
};
int multipliedResult = multiplyByX(4);
std::cout << "Multiplied result is: " << multipliedResult << std::endl;
// 匿名函数也可以捕获外部变量的引用
int z = 20;
auto modifyZ = [&z]() {
z += 5;
};
modifyZ();
std::cout << "Modified z is: " << z << std::endl;
return 0;
}
[] 来定义匿名函数(lambda 表达式)。例如,auto add = [](int a, int b) -> int { return a + b; }; 定义了一个接受两个整数参数并返回它们的和的匿名函数。[x] 捕获外部变量 x 的值。例如,auto multiplyByX = [x](int y) -> int { return x * y; }; 捕获了 x 的值并在匿名函数中使用。[&z] 可以捕获外部变量 z 的引用,从而在匿名函数中修改它的值。例如,auto modifyZ = [&z]() { z += 5; }; 修改了 z 的值。int result = add(5, 3);。希望这些示例能帮助你理解 C++ 中的匿名函数。
上一篇:c++ map 遍历
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站