C++标准库vector使用(更新中...)

内容:

vector()  //构造函数

insert()  //插入操作 

 

 

1.vector构造函数---申请vector对象的方法

default (1)    explicit vector (const allocator_type& alloc = allocator_type());//默认情况下  vector<int> vec;

fill (
2) explicit vector (size_type n);//只给定vector的大小 vector<int> first(10);   vector (size_type n, const value_type& val,const allocator_type& alloc = allocator_type());//给定vector的大小和初值 vector<int> second (4,100);


range (3)    template <class InputIterator>
        vector (InputIterator first, InputIterator last,const allocator_type& alloc = allocator_type());
                //用另一个vector的给定范围迭代器初始化 vector<int> third (second.begin(),second.end());注意该方式拷贝到end()之前的一个值,end()迭代器对应不拷贝

copy (
4) vector (const vector& x);//拷贝构造   vector<int>fourth (third); 
      vector (const vector& x, const allocator_type& alloc);//拷贝构造指定内存分配器


move (5) vector (vector&& x);//构造一个获取容器x的元素的容器,如果指定了alloc并且与x的allocator不同,则移动元素。 否则,不构建任何元素(它们的所有权直接转移)。
      vector (vector&& x, const allocator_type& alloc);

initializer list (
6)   vector (initializer_list<value_type> il,const allocator_type& alloc = allocator_type());//初始化列表初始化
vector<int> nums{2,7,11,15};

 2.vector.insert()插入操作

  • vector.insert()

函数原型如下:

单一元素:iterator insert (const_iterator position, const value_type& val); //在某个迭代器位置插入元素值  vec.insert(it,value);
填充n个相同元素 iterator insert (const_iterator position, size_type n, const value_type& val); //在某个迭代器位置插入n个相同的值  vec.insert(it,10,20);
迭代器范围填充 template <class InputIterator>
      iterator insert (const_iterator position, InputIterator first, InputIterator last);
      //在自己迭代器内,插入其他vector的迭代器内容  vec.insert(vec.end(),vec1.begin(),bec1.end());
move (
4) iterator insert (const_iterator position, value_type&& val); //暂时没用到,不知道啥意思
初始化列表插入元素:initializer list (5) iterator insert (const_iterator position, initializer_list<value_type> il);
        //指定迭代器位置按照初始化列表插入元素  vec.insert(vec.begin(),{1,2,3});
  •  vector.push_back(),该函数是在vector尾部插入值

函数原型:

void push_back (const value_type& val);
void push_back (value_type&& val);
  • vector.pop_back(),从vector尾部弹出一个元素

函数原型:

void pop_back();

 

posted @ 2019-04-06 12:03  jainss  阅读(690)  评论(0编辑  收藏  举报