// listrmv.cpp -- applying the STL to a string #include #include #include void Show(int); const int LIM = 10; int main() { using namespace std; int ar[LIM] = {4, 5, 4, 2, 2, 3, 4, 8, 1, 4}; list la(ar, ar + LIM); list lb(la); cout << "Original list contents:\n\t"; for_each(la.begin(), la.end(), Show); cout << endl; la.remove(4); cout << "After using the remove() method:\n"; cout << "la:\t"; for_each(la.begin(), la.end(), Show); cout << endl; list::iterator last; last = remove(lb.begin(), lb.end(), 4); cout << "After using the remove() function:\n"; cout << "lb:\t"; for_each(lb.begin(), lb.end(), Show); cout << endl; lb.erase(last, lb.end()); cout << "After using the erase() method:\n"; cout << "lb:\t"; for_each(lb.begin(), lb.end(), Show); cout << endl; // cin.get(); return 0; } void Show(int v) { std::cout << v << ' '; }