码迷,mamicode.com
首页 > 编程语言 > 详细

C++ lambda expression

时间:2019-12-21 09:32:48      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:optional   ons   obj   exception   variables   object   scope   var   each   

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++; });

 

C++ lambda expression

标签:optional   ons   obj   exception   variables   object   scope   var   each   

原文地址:https://www.cnblogs.com/sarah-zhang/p/12075687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!