内容:
vector() //构造函数
insert() //插入操作
1.vector构造函数---申请vector对象的方法
default (1) explicit vector (const allocator_type& alloc = allocator_type());//默认情况下 vector vec; fill (2) explicit vector (size_type n);//只给定vector的大小 vector first(10); vector (size_type n, const value_type& val,const allocator_type& alloc = allocator_type());//给定vector的大小和初值 vector second (4,100); range (3) templatevector (InputIterator first, InputIterator last,const allocator_type& alloc = allocator_type()); //用另一个vector的给定范围迭代器初始化 vector third (second.begin(),second.end());注意该方式拷贝到end()之前的一个值,end()迭代器对应不拷贝
copy (4) vector (const vector& x);//拷贝构造 vector 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_listil,const allocator_type& alloc = allocator_type());//初始化列表初始化 vector 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); 迭代器范围填充 templateiterator 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 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();