//: C04:ListRobustness.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // lists are harder to break #include #include using namespace std; int main() { list li(100, 0); list::iterator i = li.begin(); for(int j = 0; j < li.size() / 2; j++) i++; // Walk the iterator forward as you perform // a lot of insertions in the middle: for(int k = 0; k < 1000; k++) li.insert(i++, 1); // No problem li.erase(i); i++; *i = 2; // Oops! It's invalid } ///:~