本文中的lambda表达式使用方式应该在目前的所有比赛中(C++11及以上)都是可以使用的,因为比较落后的蓝桥杯都更新到了C++14。
当题目做的越来越多,难度越来越大,相应的代码就会越来越长,通常在100行左右。
在行数这么多的基础上,如果要使用递归函数,或者是sort的cmp函数,就会需要在int main上面定义函数(代码写着写着往上翻,再去写),会使思维方向和代码方向并不一致。
如果要详细了解Lambda表达式先看:C++Lambda表达式,超详细的讲解,保证一遍懂_c++ lambda-CSDN博客
Lambda的捕获列表
存在捕获列表是因为Lambda只能调用全局变量,无法调用当前函数作用域的局部变量。
如果我们需要用到局部变量,那就需要在方括号中加入你需要的内容。
捕获列表即方括号“[ ]”
[=],以值的形式捕获当前函数作用域的所有局部变量
你无法修改当前的局部变量,是以只读形式传递进来的。
//一般情况下竞赛时候都定义的是全局变量&#