将一个数组的内容复制到vector中新手常写下面的代码int a[]={1,2,3,4,5,6}; vector <int > vec; copy(a,a+5,vec.begin()); for(int i=0;i<vec.size();i++) { cout<<vec[i]<<endl; } getchar();此时一般会出现内存访问问题,因为此时vec为空。不是想象的[a.a+5]复制到[vec.begin(),vec.begin()+5],其实不然。应该为如下int a[]={1,2,3,4,5,6}; vector <int > vec; copy(a,a+5,back_inserter(vec)); for(int i=0;i<vec.size();i++) { cout<<vec[i]<<endl; } getchar(); |