type
status
date
slug
summary
tags
category
icon
password
本着实用的目的,这里就简单的说下C++11中Lambda的基本用法.
语法
有以下几种形式:
[ captures ] ( params ) -> ret { body } [ captures ] ( params ) { body } [ captures ] { body }
其中
captures
表示捕获的外部变量,params是形式参数,ret是返回值的类型,body是表达式.简单的demo
auto lambda1 = [](int a, int b) -> int { return a + b; }; auto lambda2 = [] { std::cout << "Hello World" << std::endl; }; auto lambda3 = [](int a, int b) { std::cout << a + b << std::endl; }; int main(){ std::cout << lambda1(1,2) << std::endl; lambda2(); lambda3(2,3); int x = 32; auto lambda4 = [x](int y) -> int { return x + y; }; std::cout << lambda4(12) << std::endl; auto f = lambda2; f(); return 0; }
- 作者:姜康
- 链接:https://jiangkang.tech/article/601501fa-8594-4d8a-bc27-6ea4acfcc2f1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。