首页 > 编程语言 > 详细

C++ lambda expression

时间:2019-12-21 09:29:56      阅读:95      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!