v1(10)与v1的区别
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> v1a,v1b,v1(10);//vector<int> v1a,v1b,v1;这里的v1有什么区别吗?为什么编译后者编译会终止
vector<int>::iterator iter1a,iter1b,result,iter;
int x,y;
cin>>x>>y;
int a;
for (int i=0;i<x;i++)
{
cin>>a;
v1a.push_back(a);
}
for (int i=0;i<y;i++)
{
cin>>a;
v1b.push_back(a);
}
sort(v1a.begin(),v1a.end());
sort(v1b.begin(),v1b.end());
for (iter1a=v1a.begin();iter1a!=v1a.end();iter1a++)
{
cout<<*iter1a<<" ";
}
cout<<endl;
for (iter1b=v1b.begin();iter1b!=v1b.end();iter1b++)
{
cout<<*iter1b<<" ";
}
cout<<endl;
result = set_union ( v1a.begin ( ) , v1a.end ( ) ,
v1b.begin ( ) , v1b.end ( ) , v1.begin ( ) );
for ( iter = v1.begin( ) ; iter != result ; iter++ )
cout << *iter << " ";
cout<<endl;
result =set_intersection(v1a.begin(),v1a.end(),
v1b.begin(),v1b.end(),v1.begin());
for ( iter = v1.begin( ) ; iter != result ; iter++ )
cout << *iter << " ";
cout<<endl;
result =set_difference(v1a.begin(),v1a.end(),
v1b.begin(),v1b.end(),v1.begin());
for ( iter = v1.begin( ) ; iter != result ; iter++ )
cout << *iter << " ";
cout<<endl;
system("pause");
return 0;
}