您的位置:首页 > 编程语言 > C语言/C++

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

2015-08-10 21:05 363 查看
/*************************************************************************
*
*   无论何时,如果使用的算法需要指定一个目标区间,要么必须确保区间足够大
*   要么确保它会随着算法的运行而增大。
*   要在算法执行过程中增大目标区间,请使用插入型的迭代器,如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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: