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

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

23-6 使用我们的for_each() 处理指定范围内的内容  

2014-04-22 21:38:25|  分类: STL 基本的用法 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
using namespace std;

// Unary function object type invoked by for_each
template <typename elementType>
struct DisplayElementKeepCount
{
int Count;

// Constructor
DisplayElementKeepCount (): Count (0) {}

void operator () (const elementType& element)
{
++ Count;
cout << element << ' ';
}
};

int main ()
{
vector <int> vecIntegers;
for (int nCount = 0; nCount < 10; ++ nCount)
vecIntegers.push_back (nCount);

cout << "Displaying the vector of integers: " << endl;

// Display the array of integers
DisplayElementKeepCount<int> Functor =
for_each ( vecIntegers.begin () // Start of range
, vecIntegers.end () // End of range
, DisplayElementKeepCount<int> () );// Functor

cout << endl;

// Use the state stored in the return value of for_each!
cout << "'" << Functor.Count << "' elements were displayed" << endl;

string Sample ("for_each and strings!");
cout << "String: " << Sample << ", length: " << Sample.length() << endl;

cout << "String displayed using lambda:" << endl;
int NumChars = 0;
for_each ( Sample.begin()
, Sample.end ()
, [&NumChars](char c) { cout << c << ' '; ++NumChars; } );

cout << endl;
cout << "'" << NumChars << "' characters were displayed" << endl;

return 0;
}


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

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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