//: C07:VectorInsertAndErase.cpp {-bor} // From "Thinking in C++, Volume 2", by Bruce Eckel & Chuck Allison. // (c) 1995-2004 MindView, Inc. All Rights Reserved. // See source code use permissions stated in the file 'License.txt', // distributed with the code package available at www.MindView.net. // Erasing an element from a vector. //{L} Noisy #include #include #include #include #include "Noisy.h" 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; } ///:~