#include <iostream>
#include <utility>
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
#include <numeric>
using namespace std;
int main()
{
istream_iterator<int> aa(cin),ab;
vector<int> ac(aa,ab);
sort(ac.rbegin(),ac.rend());
ostream_iterator<int> ad(cout," ");
unique_copy(ac.begin(),ac.end(),ad);
return 0;
}
请教楼主,最近学c++流迭代器,对这段例子里面的运行顺序有疑惑,为什么unique_copy(ac.begin(),ac.end(),ad);会在ostream_iterator<int> ad(cout," "); 输出之前被执行到呢?
#include <utility>
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
#include <numeric>
using namespace std;
int main()
{
istream_iterator<int> aa(cin),ab;
vector<int> ac(aa,ab);
sort(ac.rbegin(),ac.rend());
ostream_iterator<int> ad(cout," ");
unique_copy(ac.begin(),ac.end(),ad);
return 0;
}
请教楼主,最近学c++流迭代器,对这段例子里面的运行顺序有疑惑,为什么unique_copy(ac.begin(),ac.end(),ad);会在ostream_iterator<int> ad(cout," "); 输出之前被执行到呢?

不吃辣椒