c++学习笔记:lambda函数
2018-03-05 15:10
232 查看
lambda函数的几种用法:
1: std::for_each(vec.begin(),vec.end(),[&count](int x){count +=(x%3==0);}) //[]中的count是外部变量,&表示引用,如果不加&,就只是普通传参 std::for_each(vec.begin(),vec.end(),[&](int x){count +=(x%3==0);}) //[&]表示引用所有外部变量
2: auto mod3 = [](int x){return x%3==0;} int count = std::count_if(vec.begin(),vec.end(),mod3);
3: std::sort(vec.begin(),vec.end(),[](const int &a,const int &b){return a<b});
4:[=] 与 [&]的不同 for_each(coll.begin(), coll.end(), [=](int& elem) //=operator { elem += *coll.begin(); }); print(coll); //[=]能保持不变*coll.begin() /* 11 12 13 14 15 16 17 18 19 22 23 24 25 26 27 28 29 30 请按任意键继续. . . */ for_each(coll.begin(), coll.end(), [&](int& elem) //=operator { elem += *coll.begin(); }); /* 11 12 13 14 15 16 17 18 19 22 34 35 36 37 38 39 40 41 请按任意键继续. . . */
参考
for_each()算法的使用相关文章推荐
- c++学习笔记:void*变量,在函数内必须要明确变量类型
- C++ Primer Plus 学习笔记之函数探幽----1
- c++学习笔记(返回引用的函数)
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- c++学习笔记-----qsort通用排序函数
- [C++学习笔记]--函数指针
- C++学习笔记之继承层次中的函数调用。
- C++学习笔记:函数指针语法基础以及函数指针做函数参数的思想剖析
- c++函数学习笔记
- 新手学习C++笔记5:函数的调用
- 【C++学习笔记】函数匹配和函数指针
- C++学习笔记(13)——利用对象、引用、指针调用虚函数
- c++学习笔记-------《c++自学通》第五章 函数
- C++学习笔记(八):对字符的操作函数和范围for语句的使用
- C++函数返回类型学习笔记
- C++学习笔记之函数返回值
- C++学习笔记02之三大函数和栈,堆与内存管理
- C++学习笔记五——函数重载(多态)、函数模板及函数模板重载和完全匹配与最佳匹配
- C++学习笔记--函数参数扩展和占位参数
- 【C++】学习笔记三十六——函数和array对象