C++11中的兰博达(LAMBDA)表达式

它像是一个比较复杂的表达式,但是完成的功能却像一个函数,它主要用于STL计算。具体的作用如同函数对象一样,即把整个函数作为一个参数传到某个STL算法中去参与计算,当然在这里应该是表达式。


C++11中的兰博达(LAMBDA)表达式_第1张图片

上图上边的是lambda下面的是普通的函数。将下面函数的函数名和返回值一起用中括号[]替换就成了lambda。Lambda往往只包含一条return语句,而且它还能根据return语句自动判断出返回值类型,当然如果你什么都不写,那肯定是void,不过这只是在整个lambda只包含一条return语句的前提下。
如果lambda函数体内不只包含一条return语句的话,你就需要手动指定了。如下图所示:


你可能感兴趣的:(C++11中的兰博达(LAMBDA)表达式)