2019独角兽企业重金招聘Python工程师标准>>>

The benefit of Lambdas

Using lambdas to specify behavior inside the STL framework solves a lot of drawbacks of previous attempts.

Suppose that you search in a collection for the first element with a value that is between x and y:

#include <algorithm>
#include <deque>
#include <iostream>
#include <cstdlib>
using namespace std;int main()
{deque<int> coll = { 1, 3, 19, 5, 13, 7, 11, 2, 17 };int x = 5;int y = 12;auto pos = find_if(coll.begin(), coll.end(),    //range[=](int i) {                 //search criterionreturn i > x && i < y;});cout << "first elem >5 and <12: " << *pos << endl;system("pause");
}/** output of program:** first elem >5 and <12: 7**/

Using Lambdas as Sorting Criterion

#include <algorithm>
#include <deque>
#include <string>
#include <iostream>
using namespace std;class Person {
public:string firstname() const;string lastname() const;...
};int main()
{deque<Perosn> coll;...//sort Perosn according to lastname(and firstname):sort(coll.begin(), coll.end(),                    //range[] (const Person& p1, const Person& p2){     //sort criterionreturn p1.lastname()<p2.lastname() ||(p1.lastname()==p2.lastname() &&p1.firstname()<p2.firstname());});...
}

STL--Lambdas(一)    http://my.oschina.net/daowuming/blog/687290

转载于:https://my.oschina.net/daowuming/blog/687329

STL--Lambdas(二)相关推荐

  1. ACM竞赛常用STL(二)之STL--algorithm

    <algorithm>无疑是STL 中最大的一个头文件,它是由一大堆模板函数组成的. 下面列举出<algorithm>中的模板函数: adjacent_find / binar ...

  2. STL剖析(二):容器底层数据结构及常见用法

    一.概述 本文主要聚焦于STL容器,STL完整的容器分类体系如下所示,下文将逐一对各个容器底层的数据结构以及常见用法进行介绍. 测试环境:Ubuntu 22.04 g++ 11.3.0 二.顺序容器 ...

  3. STL笔记(二)---空间配置器

    一.概述 allocator是STL的六大组件之一,空间配置器.其作用就是为各个容器管理内存(内存开辟 内存回收).allocator配置的对象不只是内存,它也可以向硬盘索取空间.使用STL库的时候不 ...

  4. 【C++】C++11 STL算法(二):修改序列的操作(Modifying sequence operations)

    目录 一.copy.copy_if 1.原型: 2.说明: 3.官方demo 二.copy_n 1.原型: 2.说明: 3.官方demo 三.copy_backward 1.原型: 1.说明: 1.官 ...

  5. C++ with STL(二)map

    概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可以称为该关键字的值)的数据处理能力. 什么是一对一的数据映射.比如一个班级中,每个 ...

  6. 【2019暑假刷题笔记-STL绪论(二)】总结自《算法笔记》

    目录 五.queue的常见用法 六.priority_queue的常见用法 七.stack的常见用法 八.algorithm头文件下的常用函数 五.queue的常见用法 queue也就是队列,是STL ...

  7. STL(二)——向量vector

    一.vector容器 ① 动态数组,从末尾能快速插入与删除,直接访问任何元素. ② 一个摸板类,能存放任何类型的对象. ③ Vector作为函数的参数或者返回值时,需要注意它的写法: double D ...

  8. C++STL笔记(二):容器的特性和共通操作

    一. 支持泛型 二.保存副本.内存托管 附例1代码: //小问学编程 #include<iostream> #include<vector> using namespace s ...

  9. 利用STL解决二维数组过大内存溢出问题

    前几天写一个程序,内存空间不够用,要开二维数组一直报错,后来查阅了一些资料总结了几种方法,在这里记录分享一下 1. 如果你的程序没有内存限制,那你可以把数组定义在主函数外,用这个办法的话,数组最大可以 ...

  10. 【PAT笔记】C++标准模板库STL(二)——set的用法和示例

    2. set的常见用法详解 set翻译为集合,是一个内部自动有序且不含重复的容器.如果要使用set,需要添加头文件#include <set> 另外还要加上using namespace ...

最新文章

  1. 商汤科技汤晓鸥:其实不存在AI行业,唯一存在的是“AI+“行业
  2. SoundPool 音频播放 详解 示例
  3. 用初次训练的SVM+HOG分类器在负样本原图上检测HardExample
  4. 电大2007计算机机考专科试题,中央电大2007-2008学年度第一学期期末考试计算机网络专业计算机网络试题2008年1月...
  5. C语言再学习 -- 循环语句
  6. BUG系列:转让startActivityForResult()amp;onActivityResult()没有反应
  7. Remove Nth Node From End of List
  8. STM32F1笔记(三)UART/USART
  9. OpenGL 4.0 Tutorials 第三章:初始化 OpenGL 4.0
  10. 帆软单点登录_电子表格FineReport教程:[20]CAS单点登录
  11. JQuery Datatables 动态配置参数异步加载数据
  12. CCIE考试现在需要面试了
  13. Excel催化剂开源第4波-ClickOnce部署要点之导入数字证书及创建EXCEL信任文件夹
  14. emmet插件及PyV8
  15. 利用t-SNE可视化Glove向量
  16. tolua unity 报错_关于LUA+Unity开发_toLua篇【二】
  17. 复杂性应对之道——维度思维
  18. Maven的下载和配置(一)
  19. 《大型分布式网站架构设计与实践》
  20. Django 修改时区时间

热门文章

  1. [译]通过使用Chrome的开发者工具来学习JavaScript
  2. 一点一滴培养你的领导气质
  3. 币圈“水逆”,暴跌与高危漏洞
  4. ServerSocket01
  5. caffe中的学习率的衰减机制
  6. EasyUI Pagination 分页的两种做法
  7. 问题-Delphi2007编译时提示内存错误“sxs.dll. No Debug Info.ACCESS 0xXXXXX
  8. 第10章 接口、继承与多态----抽象类和接口
  9. oracle监听错误与hosts文件配置
  10. C#生成CHM文件(汇总篇)