码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 使用算法时确保目标区间足够大

时间:2015-08-10 22:01:15      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

/*************************************************************************
 *
 *   无论何时,如果使用的算法需要指定一个目标区间,要么必须确保区间足够大
 *   要么确保它会随着算法的运行而增大。
 *   要在算法执行过程中增大目标区间,请使用插入型的迭代器,如ostream_stream,
 *   back_inserter,front_inserter,inserter 返回的迭代器。
 *
 ************************************************************************/

#include<iostream>
#include<vector>
#include<algorithm>  //for_each,transform
#include<iterator>   //istream_iterator,back_inserter
using namespace std;

int opIncrement(int val){ return ++val;}

int main()
{

    vector<int> iVecValues(10,1); //10个1
    vector<int> iVecResult;
    
    cout<<&(*iVecResult.end())<<","<<iVecResult.size()<<endl;
    transform(iVecValues.begin(),iVecValues.end(),
            back_inserter(iVecResult),opIncrement);  //插入型迭代器

    for_each(iVecResult.begin(),iVecResult.end(),
            [](int i){cout << i << ",";});
    cout << endl;

    cout<<&(*iVecResult.end())<<","<< iVecResult.size()<<endl;

    return 0; 
}

 

c++ 使用算法时确保目标区间足够大

标签:

原文地址:http://www.cnblogs.com/wxquare/p/4719228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!