- Vector 与array 十分相似, C++ 自身提供array序列式容器,其为静态空间,一旦配置就不能改变,而vector更加灵活多变,并且对内存的合理运用显得游刃有余。
- 其部分内部函数及功能:
Protected:
-
void insert_aux(iterator position ,const T&x);
-
void deallocte();
作用:清还所有申请空间。
-
void fill_initialize(size_type n , const T& value)
作用:申请N 个空间 以Value为初始值进行初始化。
Public:
-
iterator begin()
作用:返回起始地址。
-
iterator end();
作用:返回最后一个元素的位置。
-
size_type size() const;
作用: 返回元素个数。
-
size_type capacity() const;
作用:返回所申请空间大小,为2的n次方。
-
bool empty() const ;
作用:判断是否为空
-
reference operator[](size_type n);
作用: 返回【】中所指元素的引用
-
//--------------------------------------------// vector():start(0),finish(0),end_of_storage(0); // 默认无参构造 //--------------------------------------------// vector(size_type n, const T& value); // 填充n个value //--------------------------------------------// vector(int n, const T& value); // 填充n个value //--------------------------------------------// vector(long n, const T& value); // 填充n个value //--------------------------------------------// explicit vector(size_type n) //禁止隐式转换,并填充n个T的默认构造值
作用:构造+重载
-
~vector();
作用:析构
-
reference front();
作用:返回第一个元素的引用
-
reference back();
作用:返回最后一个元素的引用
-
void push_back( const T& x);
作用:尾插X
-
void pop_back();
作用:弹出尾端元素
-
iterator erase(iterator position);
作用:清除position 位置上的元素
-
void resize(size_type new_size,const T& x); //重新制定所占大小,如果小于之前的尺寸,则阉割
//如果大于之前的尺寸,则补齐,并初始化增添部分为X
void resize(size_type new_size); //重新制定所占大小,如果小于之前的尺寸,则阉割
//如果大于之前的尺寸,则补齐,并初始化增添部分为T()
15.
void clear();
作用: 删除所有元素
Protected:
16.
iterator allovate_and_fill(size_type n, const T& x)
作用:配置空间并填满内容
17.
templete<class T ,class Alloc>
void vector<T,Alloc> ::insert(iterator position,size_type n, const T& x);
作用:在position 位置前端插入n个X元素。