c++++ 函数 lambda 表达式的写法规范语法为:[capture](parameters) -> return_type { // 函数体},其中 capture 为捕获外部变量,parameters 为函数参数,return_type 为函数返回值类型。其类型根据捕获列表和参数列表分为:捕获所有外部变量,无参数:auto 类型;捕获特定外部变量,无参数:auto 类型(可缩小);无捕获,有参数:function 类型。lambda 表达式用于创建临时函数对象,可以将其赋值给变量或函数指针,或直接作为参数传递。

C++ 函数 Lambda 表达式的写法规范
语法:
[capture](parameters) -> return_type {
// 函数体
}其中:
立即学习“C++免费学习笔记(深入)”;
capture:捕获外部变量,可选,默认为 [&](捕获所有外部变量)parameters:函数参数,可选return_type:函数返回值类型,可选Lambda 表达式类型:
Lambda 表达式属于匿名函数类型。其类型取决于捕获列表和参数列表:
auto 类型auto 类型(可缩小)function<return_type(parameters)> 类型使用规范:
this 指针指向创建它们的上下文。实战案例:
// 捕获所有外部变量,无参数
auto lambda1 = []() {
// 可以访问外部变量
std::cout << "Lambda 1: " << x << std::endl;
};
// 捕获特定外部变量,无参数
int x = 10;
auto lambda2 = [x]() {
// 只可以访问捕获的外部变量 x
std::cout << "Lambda 2: " << x << std::endl;
};
// 无捕获,有参数
auto lambda3 = [](int y) {
// 没有捕获外部变量,y 为函数参数
std::cout << "Lambda 3: " << y << std::endl;
};
int main() {
lambda1();
lambda2();
lambda3(20);
return 0;
}输出:
Lambda 1: 10 Lambda 2: 10 Lambda 3: 20
以上就是C++ 函数lambda表达式的写法规范是什么?的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号