lambda表达式是C++11最重要也最常用的一个特性之一。其实在C#3.5中就引入了lambda,Java则至今还没引入,要等到Java 8中才有lambda表达式。
lambda来源于函数式编程的概念,也是现代编程语言的一个特点。C++11这次终于把lambda加进来了。
lambda表达式有如下优点:
声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性。
简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散,让开发者更加集中精力在手边的问题,同时也获取了更高的生产率。
在需要的时间和地点实现功能闭包,使程序更灵活。
下面,先从lambda表达式的基本功能开始介绍它。