// vector 的删除操作 #include using namespace std; template void print(vector &v) { typename vector::iterator it = v.begin(); while (it != v.end()) { cout << *it << " "; it++; } cout << endl; } int main() { int arr1[5] = {1, 2, 3, 4, 5}; vector v1(arr1, arr1 + 5); print(v1); vector::iterator it = v1.begin(); v1.insert(it, 1, 10); // 在 it 位置插入 1 个 10 print(v1); it = v1.begin(); // 重新获取迭代器,因为之前的迭代器已经失效(插入后迭代器首地址变了) v1.erase(it); // 删除 it 位置的元素 print(v1); it = v1.begin(); v1.erase(it, it + 2); // 删除 [it, it+2) 位置的元素 print(v1); // 清空 v1.clear(); v1.empty(); // 判断是否为空 cout << "清空后:" << endl; print(v1); cout << "size: " << v1.size() << " capacity: " << v1.capacity() << endl; // size: 0 capacity: 8 return 0; }