注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

小试C++11特性(1)  

2012-05-20 16:15:08|  分类: C++11 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/*
实验C++11Lambdas表达式:
【&返回值】(参数表){函数内容}
一个典型的如下面的:
for_each(iv,v.end(),[&tmp](int c)
{
if(c>tmp) tmp =c;
});
有了函数Lambdas表达式可以代替函数对象;
可以说明“局部函数”,满足一直以来我想在哪里用函数就在哪里定义函数的愿望
又此函数无函数名,可以做到很好的隐藏实现功能。
实验auto关键字——通过初始化赋值来确定变量的类型:
因为在C++中函数的声明一般都顺带着赋值语句,所以完全可以通过赋值语句来判定变量类型。

还有一个好处在于:少打代码

vector<int> v;

vector<int> :: iterator it = v.begin();和下面的等价

auto it = v.begin()

*/
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
//auto s = "Hello World";
vector<int> v ={12,21,2,7,1,5,2};
auto iv = v.begin();
// int count;
int tmp = *v.begin();
for_each(iv,v.end(),[&tmp](int c)
{
if(c>tmp) tmp =c;
});
sort(v.begin(),v.end());
for_each(v.begin(),v.end(),[](int c)
{
cout<<c<<" ";
}
);
cout<<endl;
bool b;
sort(v.begin(),v.end(),[&b](int r,int s)
{
return r>s;
}
);
for_each(v.begin(),v.end(),[](int c)
{
cout<<c<<" ";
}
);
cout<<endl;
cout<<tmp<<" is the biggest in the vector"<<endl;
cout<<"AllRight"<<endl;
return 0;
}

  评论这张
 
阅读(75)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017