欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}

STL里Vector的assign()函数--拷贝赋值