代码拉取完成,页面将自动刷新
同步操作将从 secondtonone1/cpplearn 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "../inc/stl_iter_.h"
#include <list>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <vector>
#include <string>
using namespace std;
void use_inserter()
{
list<int> list1 = {1, 2, 3, 4};
list<int> list2, list3, list4;
copy(list1.begin(), list1.end(), front_inserter(list2));
copy(list1.begin(), list1.end(), back_inserter(list3));
copy(list1.begin(), list1.end(), inserter(list4, list4.begin()));
for_each(list2.begin(), list2.end(), [](const int &i)
{ cout << i << " "; });
cout << endl;
for_each(list3.begin(), list3.end(), [](const int &i)
{ cout << i << " "; });
cout << endl;
for_each(list4.begin(), list4.end(), [](const int &i)
{ cout << i << " "; });
cout << endl;
}
void use_istreamiter()
{
//输入流迭代器
istream_iterator<int> in_int(cin);
//迭代器终止标记
istream_iterator<int> in_eof;
vector<int> in_vec;
while (in_int != in_eof)
{
in_vec.push_back(*in_int++);
}
for_each(in_vec.begin(), in_vec.end(), [](const int &i)
{ cout << i << " "; });
cout << endl;
}
void use_ostreamiter()
{
vector<int> in_vec = {1, 3, 4, 2, 5, 6, 7, 9};
ostream_iterator<int> out_in(cout, " ");
for (auto data : in_vec)
{
*out_in++ = data;
}
cout << endl;
}
void use_reverseiter()
{
vector<int> in_vec = {1, 3, 4, 2, 5, 6, 7, 9};
for (auto rit = in_vec.crbegin(); rit != in_vec.crend(); rit++)
{
cout << *rit << " ";
}
cout << endl;
string line = "FIRST,SECOND,LAST";
auto rcomma = find(line.crbegin(), line.crend(), ',');
//反向迭代器获取数据是反向的
cout << string(line.crbegin(), rcomma) << endl;
//通过base将反向迭代器转化为正向的
cout << string(rcomma.base(), line.cend()) << endl;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。