123456789101112131415161718192021222324252627282930313233343536 |
- // inserts.cpp -- copy() and insert iterators
- #include <iostream>
- #include <string>
- #include <iterator>
- #include <vector>
- #include <algorithm>
- void output(const std::string & s) {std::cout << s << " ";};
- void outc(char ch) {std::cout << ch; }
- void routput(const std::string & s) {std::for_each(s.rbegin(),s.rend(),outc); std::cout << " ";}
- int main()
- {
- using namespace std;
- string s1[4] = {"fine", "fish", "fashion", "fate"};
- string s2[2] = {"busy", "bats"};
- string s3[2] = {"silly", "singers"};
- vector<string> words(4);
- copy(s1, s1 + 4, words.begin());
- for_each(words.begin(), words.end(), output);
- cout << endl;
-
- // construct anonymous back_insert_iterator object
- copy(s2, s2 + 2, back_insert_iterator<vector<string> >(words));
- for_each(words.begin(), words.end(), output);
- cout << endl;
- // construct anonymous insert_iterator object
- copy(s3, s3 + 2, insert_iterator<vector<string> >(words, words.begin()));
- for_each(words.begin(), words.end(), output);
- cout << endl;
- for_each(words.begin(), words.end(), routput);
- cout << endl;
- // cin.get();
- return 0;
- }
|