vector<int> v1, v2;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v2.push_back(4);
v2.push_back(5);
v2.push_back(3);
set<int> s;
//copy(v1.begin(), v1.end(), s.begin());//报错,s没有分配足够空间
//copy(v2.begin(), v2.end(), s.end());//报错,s没有分配足够空间
for (int i = 0; i < 3; ++i)
s.insert(v1.at(i));
for (int i = 0; i < 3; ++i)
s.insert(v2.at(i));
vector<int> v(s.size() );//为目标v分配了足够空间 ,才可以复制
copy(s.begin(), s.end(), v.begin());//可以
vector<int>::iterator it;
for (it = v.begin(); it != v.end(); ++it)
cout << *it << endl;//v不能空,不然报错