// Demonstrating the STL vector 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 vector erase function." << endl; vector vector1 = make< vector >("remembering"); vector::iterator j; j = find(vector1.begin(), vector1.end(), 'm'); // j now points to the first 'm': assert (*j == 'm' && *(j+1) == 'e'); vector1.erase(j--); assert (vector1 == make< vector >("reembering")); // j now points to the first 'e': assert (*j == 'e' && *(j+1) == 'e'); vector1.erase(j--); assert (vector1 == make< vector >("rembering")); assert (*j == 'r'); // Erase first 3 characters: vector1.erase(j, j + 3); assert (vector1 == make< vector >("bering")); vector1.erase(vector1.begin() + 1); assert (vector1 == make< vector >("bring")); cout << " --- Ok." << endl; return 0; }