使用copy()、ostream_iterator和reverse_iterator实现正反向输出
迭代器是STL算法的接口,而指针是迭代器,所以STL算法可是实现指针来对基于指针的非STL容器进行操作,例如数组。
#include <iostream>
#include <vector>
#include <iterator>
int main()
{
using namespace std;
int casts[10] = { 1,2,3,4,5,6,7,8,9,10 };
vector<int> dice(10);
// 正向输出
copy(casts, casts + 10, dice.begin());
ostream_iterator<int, char> out_iter(cout, " ");
copy(dice.begin(), dice.end(), out_iter);
cout << endl;
// 反向输出第一种形式
copy(dice.rbegin(), dice.rend(), out_iter);
cout << endl;
// 反向输出第二种形式
for (auto ri = dice.rbegin(); ri != dice.rend(); ++ri) {
cout << *ri << ' ';
}
system("pause");
return 0;
}