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