C++ 匿名函数,也称为 Lambda 表达式,用于临时函数,如回调函数或条件表达式。语法为:[capture_clause](parameters) -> return_type{ // 函数体},其中 capture_clause 用于捕获外部变量,parameters 为函数参数,return_type 为返回值。它们提供简便性、灵活性、可读性,但需注意捕获变量时使用引用,避免修改外部变量,复杂函数时使用命名函数。
C++ 函数匿名函数的用法
简介
匿名函数,也称为Lambda表达式,是一个没有名称的函数。它们通常用于需要临时函数的地方,例如回调函数或条件表达式。
语法
匿名函数的语法如下:
[capture_clause](parameters) -> return_type { // 函数体 }
实战案例
回调函数
// 定义一个接受函数指针的函数 void run_callback(void (*callback)()) { callback(); } int main() { // 定义一个匿名函数作为回调函数 run_callback([]() { std::cout << "这是一个回调函数" << std::endl; }); return 0; }
条件表达式
int x = 10; int y = 20; int max = (x > y) ? x : y;
在这种情况下,匿名函数用来决定赋值给max
的值。
排序函数
std::vector<int> numbers = {1, 3, 5, 2, 4}; std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; });
匿名函数用于指定排序标准。
优势
注意事项
The above is the detailed content of What are the uses of anonymous functions in C++?. For more information, please follow other related articles on the PHP Chinese website!