C++11/14 lamba, 仿函数 对比
2015-07-17 10:01
417 查看
C++11
C++14
话说新标准出来也蛮久的了, 是时候跟进了, 先试试lamba, 还满好玩。
先看看不用lamba, 用仿函数的代码如何:
再看看用lamba之后:
打字少多了,看代码不用上窜下跳了, 爽爆了有木有!
C++14
话说新标准出来也蛮久的了, 是时候跟进了, 先试试lamba, 还满好玩。
先看看不用lamba, 用仿函数的代码如何:
class Acc // functor { public: Acc(int & Uppercase): Uppercase_(Uppercase){} void operator()(char c) const { if (isupper(c)){ Uppercase_++; } } private: int & Uppercase_; }; void lamba_Test() { char s[] = "Hello World!"; int Uppercase = 0; for_each(s, s + sizeof(s), Acc(Uppercase)); // use functor cout << Uppercase << " uppercase letters in: " << s << endl; }
再看看用lamba之后:
void lamba_Test() // lamba expersion { char s[] = "Hello World!"; int Uppercase = 0; //modified by the lambda for_each(s, s + sizeof(s), [&Uppercase](char c) { // or try auto c if (isupper(c)) Uppercase++;} ); cout << Uppercase << " uppercase letters in: " << s << endl; }
打字少多了,看代码不用上窜下跳了, 爽爆了有木有!
相关文章推荐
- c++ 虚函数与纯虚函数的区别(深入分析)
- 深入理解C++的多态性
- C++重载输出操作符
- 浅谈C++多态性
- CodeForces 548C
- 对C++多态性的一点理解
- C语言位运算符及作用:与、或、异或、取反、左移和右移
- C++多态解释与例子
- log4cxx配置使用(一)
- iOS C语言5_二维数组
- 黑马程序员------C语言中对形参和实参的理解
- 如果是初学C语言请看完 一些成功人士的心得 (转自程先的专栏)
- VS2013的Visual C++ 项目如何修改目标框架和平台工具集
- c++使用stmp协议发送电子邮件(163邮箱,TTL非SSL)
- C语言 指针总结(复习)
- C++ 类初探
- 关于C++中String类型的使用
- c语言结构体赋值,并输出各种类型变量的值
- C++类构造函数的初始化列表
- Max Sum