admin 管理员组

文章数量: 1086019


2024年2月25日发(作者:button德州)

c++ lambda 例子

C++中的lambda表达式是一种方便的方式来定义匿名函数,它可以在需要函数的地方进行使用,而不必显式地定义一个命名函数。下面我会举一些C++中lambda表达式的例子来帮助你更好地理解:

1. 基本语法。

cpp.

auto func = [](int a, int b) -> int {。

return a + b;

};

这个例子中,我们定义了一个lambda表达式,它接受两个整数参数a和b,并返回它们的和。使用auto关键字可以让编译器自动推断lambda表达式的类型,而"-> int"表示lambda表达式返回一个整数。

2. 在STL算法中使用lambda表达式。

cpp.

#include

#include

#include

int main() {。

std::vector vec = {1, 2, 3, 4, 5};

int count = std::count_if((), (),

[](int x) {。

return x % 2 == 0;

});

std::cout << "偶数个数," << count << std::endl;

return 0;

}。

这个例子中,我们使用了STL算法中的count_if函数,它接受一个范围和一个判断条件,返回满足条件的元素个数。在这里,我们使用lambda表达式作为判断条件,统计vec中偶数的个数。

3. 捕获外部变量。

cpp.

#include

int main() {。

int a = 10;

auto func = [a](int b) {。

return a + b;

};

std::cout << func(5) << std::endl;

return 0;

}。

这个例子中,我们定义了一个lambda表达式,它捕获了外部变量a,并接受一个整数参数b,返回a和b的和。在main函数中,我们调用func(5),输出15。

以上是一些C++中lambda表达式的例子,希望可以帮助你更好地理解和使用lambda表达式。如果你有更多问题,欢迎继续提问。


本文标签: 表达式 函数 使用 返回 定义