STL里Vector的assign()函数--拷贝赋值
程序员文章站
2022-03-22 21:37:16
...
/*vector里接触的第一个函数就是assign()
//函数原型
1.void assign(const_iterator first,const_iterator last);
2.void assign(size_type n,const T&x=T());
//第一个相当于个拷贝函数,把first到last的值赋值给调用者;(注意区间的闭合)
//第二个把n个X赋值给调用者
*/
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>ls;
vector<int>ls1;
for(int i=0;i<20;i++)
{
ls.push_back(i); //向数据结构中添加元素
}
vector<int>::iterator lr=ls.begin();
for(;lr!=ls.end();++lr)
{
cout<<*lr<<" "; //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
}
cout<<endl;
ls1.assign(ls.begin(),ls.begin()+9); //拷贝0-9
for(lr=ls1.begin();lr!=ls1.end();++lr)
{
cout<<*lr<<" "; //0 1 2 3 4 5 6 7 8
}
cout<<endl;
ls.assign(10,7);
for(lr=ls.begin();lr!=ls.end();++lr)
{
cout<<*lr<<" "; //7 7 7 7 7 7 7 7 7 7
}
cout<<endl;
return 0;
}
上一篇: 右值引用、move函数
下一篇: STL 中vector用法