copyit.cpp 889 B

123456789101112131415161718192021222324252627282930
  1. // copyit.cpp -- copy() and iterators
  2. #include <iostream>
  3. #include <iterator>
  4. #include <vector>
  5. int main()
  6. {
  7. using namespace std;
  8. int casts[10] = {6, 7, 2, 9 ,4 , 11, 8, 7, 10, 5};
  9. vector<int> dice(10);
  10. // copy from array to vector
  11. copy(casts, casts + 10, dice.begin());
  12. cout << "Let the dice be cast!\n";
  13. // create an ostream iterator
  14. ostream_iterator<int, char> out_iter(cout, " ");
  15. // copy from vector to output
  16. copy(dice.begin(), dice.end(), out_iter);
  17. cout << endl;
  18. cout <<"Implicit use of reverse iterator.\n";
  19. copy(dice.rbegin(), dice.rend(), out_iter);
  20. cout << endl;
  21. cout <<"Explicit use of reverse iterator.\n";
  22. // vector<int>::reverse_iterator ri; // use if auto doesn't work
  23. for (auto ri = dice.rbegin(); ri != dice.rend(); ++ri)
  24. cout << *ri << ' ';
  25. cout << endl;
  26. // cin.get();
  27. return 0;
  28. }