语法:
vector();
vector( size_type num, const TYPE &val );
vector( const vector &from );
vector( input_iterator start, input_iterator end );
C++ Vectors可以使用以下任意一种参数方式构造:
vector<int> v; //无参数 - 构造一个空的vector,
vector<int> v1( 5, 42 );//数量(num)和值(val) - 构造一个初始放入num个值为val的元素的Vector
vector<int> v2(v1); //拷贝构造
vector<int> v3=v2 ; //移动构造
vector<int> v4(v3.begin(),v3.end());
vector<int> v5(initlist);//以initlist的元素为初值
vector<int> v6=initlist;//同上
v.~vector(); //销毁所有元素,释放内存
--------------------------------------------------------------------------------运算符
语法:
v1 == v2
v1 != v2
v1 <= v2
v1 >= v2
v1 < v2
v1 > v2
v [ ]
C++ Vectors能够使用标准运算符: ==, !=, <=, >=, <, 和 >. 要访问vector中的某特定位置的元素可以使用 [] 操作符.
两个vectors被认为是相等的,如果:
它们具有相同的容量
所有相同位置的元素相等.
vectors之间大小的比较是按照词典规则.
相关内容: at().
--------------------------------------------------------------------------------
assign函数
语法:
void assign( input_iterator start, input_iterator end );
void assign( size_type num, const TYPE &val );
assign() 函数要么将区间[start, end)的元素赋到当前vector,或者赋num个值为val的元素到vector中.
这个函数将会清除掉为vector赋值以前的内容.
使用方法:
v.assign(n, elem); //赋值n个elem给v
v.assign(beg, end);//将区间[beg, end)中的元素赋给v
v.assign(initlist); //将初值列initlisl的所有元素赋给v
--------------------------------------------------------------------------------
at函数
语法:
TYPE at( size_type loc )
at() 函数 返回当前Vector指定位置loc的元素.
at() 函数 比 [] 运算符更加安全, 因为它不会让你去访问到Vector内越界的元素,超出范围的元素会抛出range-error异常.
相关内容: [] 操作符
-------------------------------------------------------------------------------
back 函数
语法:
TYPE back();
back() 函数返回当前vector最末一个元素,不检查是否存在最末元素.
相关内容: front().
--------------------------------------------------------------------------------
begin 函数 和 cbegin函数
语法:
iterator begin();
begin()函数返回一个指向当前vector起始元素的迭代器.
cbegin()返回一个指向const random vector的起始元素
相关内容: end().
--------------------------------------------------------------------------------
capacity 函数
语法:
size_type capacity();
capacity() 函数 返回当前vector在重新进行内存分配以前所能容纳的元素数量.
--------------------------------------------------------------------------------
clear 函数
语法:
void clear();
clear()函数删除当前vector中的所有元素.
--------------------------------------------------------------------------------
empty 函数
语法:
bool empty();
如果当前vector没有容纳任何元素,则empty()函数返回true,否则返回false
相关内容: size()
--------------------------------------------------------------------------------
end 函数 和 cend()
语法:
iterator end();
end() 函数返回一个指向当前vector末尾元素的下一位置的迭代器.注意,如果你要访问末尾元素,需要先将此迭代器自减1.
cend()函数返回指向const random vector的最末元素的后一位
相关内容: begin()
--------------------------------------------------------------------------------
erase 函数
语法:
iterator erase( iterator loc );
iterator erase( iterator start, iterator end );
erase函数要么删作指定位置loc的元素,要么删除区间[start, end)的所有元素.返回值是指向删除的最后一个元素的下一位置的迭代器.
相关内容: pop_back().
--------------------------------------------------------------------------------
front 函数
语法:
TYPE front();
front()函数返回当前vector起始元素的引用
相关内容: back().
--------------------------------------------------------------------------------
get_allocator 函数
语法:
allocator_type get_allocator();
get_allocator() 函数返回当前vector的内存分配器.
--------------------------------------------------------------------------------
insert 函数
语法:
iterator insert( iterator loc, const TYPE &val );
void insert( iterator loc, size_type num, const TYPE &val );
void insert( iterator loc, input_iterator start, input_iterator end );
insert() 函数有以下三种用法:
在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器,
在指定位置loc前插入num个值为val的元素
在指定位置loc前插入区间[start, end)的所有元素 .
--------------------------------------------------------------------------------
语法:
size_type max_size();
max_size() 函数返回当前vector所能容纳元素数量的最大值(译注:包括可重新分配内存).
--------------------------------------------------------------------------------
pop_back
语法:
void pop_back();
相关内容: erase().
--------------------------------------------------------------------------------
push_back 函数
语法:
void push_back( const TYPE &val );
--------------------------------------------------------------------------------
rbegin 函数
语法:
reverse_iterator rbegin();
rbegin函数返回指向当前vector末尾的逆迭代器.(译注:实际指向末尾的下一位置,而其内容为末尾元素的值,详见逆代器相关内容)
--------------------------------------------------------------------------------
语法:
reverse_iterator rend();
rend()函数返回指向当前vector起始位置的逆迭代器.
--------------------------------------------------------------------------------
reserve 函数
语法:
void reserve( size_type size );
reserve()函数为当前vector预留至少共容纳size个元素的空间.(译注:实际空间可能大于size)
--------------------------------------------------------------------------------
resize 函数
语法:
void resize( size_type size, TYPE val );
--------------------------------------------------------------------------------
size 函数
语法:
size_type size();
size() 函数返回当前vector所容纳元素的数目
相关内容: empty()
--------------------------------------------------------------------------------
swap 函数
语法:
void swap( vector &from );
swap()函数交换当前vector与vector from的元素
v1.swap(v2);//置换v1和v2的数据
swap(v1, v2);同上
-------------------------------------------------------------------------------
shrink_to_fit成员函数
C++11新标准引入的函数,可以缩减容量以符合当前的元素个数