C++ lambda expression

2019-12-21 16:01:18来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

C++ lambda expression

Emerged since c++11, lambda expression/function is an unnamed function object capable of capturing variables in scope.

1. syntax of a lambda expression

[ captures ] <tparams>(optional)(c++20) ( params ) specifiers exception attr -> ret requires(optional)(c++20){ body }

[ captures ] ( params ) -> ret { body }

[ captures ] ( params ) { body }

[ captures ] { body } 

examples:

 [](){}   //barebone lambda

 [](){}() // immediately execute a lambda

auto print = [](const int& n) { n = n+1; std::cout << " " << n; };
std::for_each(v.begin(), v.end(), print); // caller of the lambda expression
std::for_each(v.begin(), v.end(), [](int &n){ n++; });

 


原文链接:https://www.cnblogs.com/sarah-zhang/p/12075687.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:c++-内联函数和函数重载和默认参数和函数指针

下一篇:c++-构造函数