//: C04:VectorInsertAndErase.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Erasing an element from a vector #include "Noisy.h" #include #include #include using namespace std; int main() { vector v; v.reserve(11); cout << "11 spaces have been reserved" << endl; generate_n(back_inserter(v), 10, NoisyGen()); ostream_iterator out(cout, " "); cout << endl; copy(v.begin(), v.end(), out); cout << "Inserting an element:" << endl; vector::iterator it = v.begin() + v.size() / 2; // Middle v.insert(it, Noisy()); cout << endl; copy(v.begin(), v.end(), out); cout << "\nErasing an element:" << endl; // Cannot use the previous value of it: it = v.begin() + v.size() / 2; v.erase(it); cout << endl; copy(v.begin(), v.end(), out); cout << endl; } ///:~