STL--Lambdas(二)
2016-06-05 00:00
357 查看
摘要: Using Lambdas
Suppose that you search in a collection for the first element with a value that is between x and y:
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:
[code=language-cpp]#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 criterion return 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
[code=language-cpp]#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 criterion return p1.lastname()<p2.lastname() || (p1.lastname()==p2.lastname() && p1.firstname()<p2.firstname()); }); ... }
STL--Lambdas(一) http://my.oschina.net/daowuming/blog/687290
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性