博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lambda的使用
阅读量:6307 次
发布时间:2019-06-22

本文共 994 字,大约阅读时间需要 3 分钟。

void biggies( vector
::size_type sz){ vector
words{ "saw","sbe","scr","sb" }; sort(words.begin(), words.end()); auto endl_flag = unique(words.begin(), words.end()); words.erase(endl_flag, words.end()); stable_sort(words.begin(), words.end(), [](const string& a, const string& b) {return a.size() < b.size();}); auto wc = find_if(words.begin(), words.end(), [sz](const string& a) {return a.size() > sz;}); auto count = words.end() - wc; for_each(wc, words.end(), [](const string &s) {cout << s << '\t';}); cout << endl;}

  

void x10t21(){	int num = 5;	auto f = [&num]()->bool {if (num > 0) { num--;return false; } else return true;};	while (!f());	cout << num << endl;;}

  当定义一个lambda时,编译器生成一个与lambda对应的新的(未命名)类类型。当一个函数传递一个lambda时,同时定义了一个新类型和该类型的一个对象,传递的参数就是此编译器生成的类类型的未命名对象,当使用auto定义一个用lambda初始化的变量时,定义了一个从lambda生成的类型的对象。默认情况下,从lambda生成的类都包含一个对应该lambda所捕获的变量的数据成员。类似任何普通类的数据成员,lambda的数据成员也在lambda对象创建时被初始化。

转载于:https://www.cnblogs.com/linear/p/7019720.html

你可能感兴趣的文章
D2007在64位Win7出现 delphi 2007 assertion failure thread32.cpp 的解决办法
查看>>
STM32的TAMPER-RTC管脚作为Tamper的使用[转]
查看>>
[记]一个逐步“优化”的范例程序
查看>>
2012-01-09_2
查看>>
Visual Studio 2015 开发MVC4出现错误
查看>>
MongoDB 学习笔记之 批处理
查看>>
orcale 之 存储过程
查看>>
A程序是B程序的输入
查看>>
java基础数组(带基础排序法)
查看>>
[20180316]理解db file parallel read等待事件.txt
查看>>
文件系统02 - 零基础入门学习Delphi35
查看>>
8.转型
查看>>
php类中调用array_walk()函数
查看>>
在线一键生成安卓证书keystore文件
查看>>
GITHUB(2.1-2.5)Git的导入
查看>>
判断奇偶
查看>>
android NDK 编译hellojni 例子文件
查看>>
os模块
查看>>
VLOOKUP+IF 组合用法
查看>>
Windows API 第21篇 DeleteVolumeMountPoint 删除挂载点
查看>>