#include <iostream>
using namespace std;
#include <vector>
#include <string>
typedef unsigned short WORD;
void main()
{
vector<string> vStr;
vStr.push_back("1");
vStr.push_back("2");
vStr.push_back("3");
vStr.push_back("4");
vStr.push_back("5");
vector<string>::iterator it = vStr.begin();
it++;
cout << *it << endl; // 输出2,这个没问题
cout << "------------------------\n";
vStr.erase(it++); // 这里用it++和++it对最后显示的元素来说效果是一样的,不过删除的元素不一样
vector<string>::iterator iter = vStr.begin();
for (iter; iter != vStr.end(); iter++)
{
cout << *iter << endl;
}
cout << "-------------------------\n";
cout << *it << endl; // 输入4,而不是3,即erase删除的是迭代器指向的当前元素时,迭代器指向下一个位置
system("pause");
}
联系客服