// Demonstrating the STL list erase function #include #include #include #include #include // for find using namespace std; template Container make(const char s[]) { return Container(&s[0], &s[strlen(s)]); } int main() { cout << "Demonstrating STL list erase function." << endl; list list1 = make< list >("remembering"); list::iterator j; j = find(list1.begin(), list1.end(), 'i'); list1.erase(j++); assert (list1 == make< list >("rememberng")); // j now points to the 'n': list1.erase(j++); assert (list1 == make< list >("rememberg")); // j now points to the 'g': list1.erase(j++); assert (list1 == make< list >("remember")); list1.erase(list1.begin()); assert (list1 == make< list >("emember")); list1.erase(list1.begin()); assert (list1 == make< list >("member")); cout << " --- Ok." << endl; return 0; }