Linux 拨号vps windows公众号手机端

c++ lambda表达式怎么使用

lewis 8年前 (2017-11-05) 阅读数 9 #程序编程
文章标签 c++

在C++中,lambda表达式用于创建匿名函数。它的语法如下:

<"/%E5%8F%82%E6%95%B0%E5%88%97%E8%A1%A8" "">捕获列表 -> 返回类型 { 函数体 }

其中,捕获列表可以为空,参数列表和返回类型可以省略,函数体可以是一个复合语句或单个表达式。

以下是一些使用lambda表达式的示例:

  1. 无捕获列表、无参数列表、无返回类型的lambda表达式:
[]() {
    // 函数体
}
  1. 捕获外部变量、有参数列表、有返回类型的lambda表达式:
int x = 5;
auto func = [x](int y) -> int {
    return x + y;
};
int result = func(3); // result = 8
  1. 捕获外部变量、无参数列表、推导返回类型的lambda表达式:
int x = 5;
auto func = [x]() {
    return x * 2;
};
int result = func(); // result = 10
  1. 捕获外部变量引用、有参数列表、推导返回类型的lambda表达式:
int x = 5;
auto func = [&x](int y) {
    x += y;
};
func(3); // x = 8

需要注意的是,lambda表达式可以被当做函数对象使用,可以直接调用或者作为参数传递给其他函数。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门