(3)mutable 。此关键字可以省略,如果使用则之前的 () 小括号将不能省略(参数个数可以为 0) 。默认情况下,对于以值传递方式引入的外部变量,不允许在 lambda 表达式内部修改它们的值(可以理解为这部分变量都是 const 常量) 。而如果想修改它们,就必须使用 mutable 关键字 。
(4)noexcept/throw() 。可以省略,如果使用,在之前的 () 小括号将不能省略(参数个数可以为 0) 。默认情况下,lambda 函数的函数体中可以抛出任何类型的异常 。标注 noexcept 关键字,则表示函数体内不会抛出任何异常;使用 throw() 可以指定 lambda 函数内部可以抛出的异常类型 。
(5)->返回类型 。匿名函数的返回类型 。如果 lambda 函数体内只有一个 return 语句,或者该函数返回 void,则编译器可以自行推断出返回值类型,此情况下可以直接省略"-> 返回值类型" 。
(6)与普通函数相同 。
#include <iostream>#include <algorithm>using namespace std;int main(){int num[4] = { 9,7,8,6 };//对 num数组中的元素进行排序sort(num, num + 4, [=](int x, int y) -> bool { return x < y; });for (int n : num) {cout << n << " ";}return 0;}
运行结果:
文章插图
推荐阅读
- 谷歌Chrome浏览器正获得全新截图工具
- 互联网革命的新赛道——Web3.0
- iQOO|新一代千元“神机”!iQOO Neo6 SE入网信息曝光:骁龙870+80W快充
- 圣莫尼卡|比恶魔猎手更强大!魔兽世界10.0新职业唤魔师诠释何为真正英雄
- 怎么买玉
- 穿衣搭配|公务员迎来“新政策”,招考或将成了过去式,这些考生别错过了!
- 新疆和北京的时差是几个小时?
- 怎么自制红茶,新鲜苦瓜茶的泡法
- 如何加快新陈代谢
- 大众|人人开得起!曝大众将打造全新入门级电动车