c++用unique函数后容器里的值都为0
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int>q;
q.push_back(0);
q.push_back(1);
q.push_back(3);
q.push_back(3);
q.push_back(67);
q.push_back(353);
q.push_back(353);
q.push_back(12);
q.push_back(88);
sort(q.begin(), q.end());
vector<int>::iterator it = q.begin();
cout << "没删除相同元素:";
for (int i = 0; i < q.size(); i++)
cout << *it++ << " ";
cout << endl;
it = q.begin();
for (int i = 0; i < q.size(); i++)
{
it++=unique(q.begin(), q.end());
}
it = q.begin();
cout << "删除相同元素:";
for (int i = 0; i < q.size(); i++)
cout << *it << " ";
cout << endl;
return 0;
}
运行结果是:
没删除相同元素:0 1 3 3 12 67 88 353 353
删除相同元素:0 0 0 0 0 0 0 0 0