home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Ebooks / Thinking in C++ V2 / C20 / ListRobustness.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-05-25  |  620 b   |  24 lines

  1. //: C20:ListRobustness.cpp
  2. // From Thinking in C++, 2nd Edition
  3. // Available at http://www.BruceEckel.com
  4. // (c) Bruce Eckel 1999
  5. // Copyright notice in Copyright.txt
  6. // lists are harder to break
  7. #include <list>
  8. #include <iostream>
  9. using namespace std;
  10.  
  11. int main() {
  12.   list<int> li(100, 0);
  13.   list<int>::iterator i = li.begin();
  14.   for(int j = 0; j < li.size() / 2; j++)
  15.     i++;
  16.   // Walk the iterator forward as you perform 
  17.   // a lot of insertions in the middle:
  18.   for(int k = 0; k < 1000; k++)
  19.     li.insert(i++, 1); // No problem
  20.   li.erase(i);
  21.   i++;
  22.   *i = 2; // Oops! It's invalid
  23. } ///:~
  24.