// Demonstrating the STL vector push_back and insert functions #include #include #include #include #include // for reverse using namespace std; template Container make(const char s[]) { return Container(&s[0], &s[strlen(s)]); } int main() { vector vector1 = make< vector >("Bjarne Stroustrup"), vector2; vector::iterator i; cout << "Demonstrating vector push_back function" << endl; for (i = vector1.begin(); i != vector1.end(); ++i) vector2.push_back(*i); assert (vector1 == vector2); vector1 = make< vector >("Bjarne Stroustrup"); vector2 = make< vector >(""); cout << "Demonstrating vector insertion at beginning" << endl; for (i = vector1.begin(); i != vector1.end(); ++i) vector2.insert(vector2.begin(), *i); assert (vector2 == make< vector >("purtsuortS enrajB")); // Show that vector2 is the reverse of vector1, by using // the generic reverse function to reverse vector1: reverse(vector1.begin(), vector1.end()); assert (vector2 == vector1); cout << " --- Ok." << endl; return 0; }