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

C++ STL之Vector详解
本文详细介绍了C++ STL中vector容器的构造方法及其insert()成员函数的使用。包括vector的六种构造函数:默认构造、指定大小构造、指定大小及初值构造、范围构造、拷贝构造和移动构造;insert()函数的多种重载形式,如单一元素插入、多个相同元素插入、迭代器范围插入等。

内容:

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();

 

转载于:https://www.cnblogs.com/jainszhang/p/10661317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值