这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。
public member function
<vector>
std::vector::assign
range (1) |
template <class InputIterator> void assign (InputIterator first, InputIterator last); |
---|---|
fill (2) |
void assign (size_type n, const value_type& val); |
initializer list (3) |
void assign (initializer_list<value_type> il); |
给vector重新分配新的内容,替换现有的内容,并修改他的大小。
在版本(1)中的范围,新的元素是从范围first到last的复制,顺序也是相同的。
在第二个请情况下,新的容器一共有n个元素,每一个元素都初始化为val的拷贝。
在列表初始化版本(3)中,新的元素的值时从初始化列表中依次复制过来的。
Parameters
- first, last
-
定义在同一个序列的输入型迭代器,分别标示了起始位置以及结束位置,包括所有的在first和last范围内的所有元素,包括first指向的元素但不包括last指向的元素。 -
该函数的模版参数InputIterator应该是一个输入迭代器。其指向一个能被value_type对象构造的元素。 - n
-
容器新的大小。 - val
-
填满容器的值。容器内的每一个元素都将从val中拷贝而来。 -
类型为元素类型,由vector的模版参数指定。 - il
一个初始化列表。编译器将从initializer_list装饰器自动构造其元素。
其元素类型为容器元素类型。由vector模版定义.
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38583529
———————————————————————————————————————————————————
public member function
<vector>
std::vector::push_back
void push_back (const value_type& val); void push_back (value_type&& val);
该函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素,新的元素的值是val的拷贝(或者是移动拷贝).
该方法可以快速有效率地在数组size范围内增长元素,除非当增长的元素个数大小超出了vector的ccapacity的时候才会发生重分配。
Parameters
- val
新元素的值。
类型由vector的模版参数指定。
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38553845
———————————————————————————————————————————————————
public member function
<vector>
std::vector::pop_back
void pop_back();
可以高效地移除vector中的最后一个元素.
将销毁并移除该元素。
Parameters
none
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38611555
———————————————————————————————————————————————————
public member function
<vector>
std::vector::insert
single element (1) |
iterator insert (const_iterator position, const value_type& val); |
---|---|
fill (2) |
iterator insert (const_iterator position, size_type n, const value_type& val); |
range (3) |
template <class InputIterator> iterator insert (const_iterator position, InputIterator first, InputIterator last); |
move (4) |
iterator insert (const_iterator position, value_type&& val); |
initializer list (5) |
iterator insert (const_iterator position, initializer_list<value_type> il); |
通过在position的前面插入元素使vector增长,这是一种高效的插入元素的方式。
Parameters
- position
- position是新元素插入的位置.
- iterator是一个随机访问迭代器。
- val
- val是插入元素的值(通过拷贝或者是移动构造)
- 其类型和容器内元素类型一致。由vector模版参数决定。
- n
- n是插入元素的数目。每一个元素的值都从val中拷贝而来。
- n是以俄国unsigned integral.
- first, last
- 指定范围内的迭代器。将从该范围([first,last))依次顺序地拷贝其元素插入到指定位置(position)的vector.
- 需要注意的是该范围包括first到last之间的所有元素,包括first指向的元素,但不包括last指向的元素。
- il
- 一个初始化列表对象,复制其元素到插入位置。
- 这些对象都自动从初始化列表中构造。
- 值类型由vector的模版参数指定,和容器内元素类型一致。
Return value
返回值为插入的第一个新元素的位置。
原文地址:http://blog.csdn.net/qq844352155/article/details/38656527
___________________________________________________________________________________________
public member function
<vector>
std::vector::erase
iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last);
从vector中移除单一(position)或者是指定范围内([first,last))的元素。
Parameters
- position
-
一个指向要被擦除的元素的迭代器。 -
first, last -
指示特定范围内将被移除元素位置的迭代器。该范围包括first到last之间的所有元素,包括first指向的元素,但不包括last指向的元素。
Return value
返回值为一个迭代器,其指向被擦除的最后一个元素的下一个位置的元素。
原文地址:http://blog.csdn.net/qq844352155/article/details/38641813
———————————————————————————————————————————————————
public member function
<vector>
std::vector::swap
void swap (vector& x);
与x交换其内容,x的类型要与该vector一样,大小可以不同。
调用该函数之后,存储在该容器内的元素是那些本来在x中的元素,x中的元素是原本存储在该容器中的元素(即交换内容),所有的迭代器,引用以及指针在交换后依旧有效。
Parameters
- x
x是另一个将被交换的同类型的vector容器。
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38686549
———————————————————————————————————————————————————
public member function
<vector>
std::vector::clear
void clear() noexcept;
移除vector内所有元素(并销毁他们),使容器大小为变为0(size而不是capacity)。
Parameters
none
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38583093
———————————————————————————————————————————————————
public member function
<vector>
std::vector::emplace
template <class... Args> iterator emplace (const_iterator position, Args&&... args);
Construct and insert element
The container is extended by inserting a new element at position. This new element is constructed in place using args as the arguments for its construction.
通过在指定位置插入一个新的元素以扩展容器,新的元素的值为args或者是元素根据args的值构造。
Parameters
- position
-
新元素插入容器的位置。 -
args - 用于构造器构造新元素的参数。
-
Return value
返回值是一个指向新插入的元素的iterator。
原文地址:http://blog.csdn.net/qq844352155/article/details/38635465
———————————————————————————————————————————————————
public member function
<vector>
std::vector::emplace_back
template <class... Args> void emplace_back (Args&&... args);
在vector的结尾插入一个新的元素,位置为当前最后一个元素的右边,元素的值使用args作为参数传递给其构造函数构造。
Parameters
- args
- 用于构造新元素的参数。
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38636715
——————————————————————————————————————————————————————————————————
//总结的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。
转载请注明出处:http://blog.csdn.net/qq844352155
author:天下无双
Email:[email protected]
2014-8-27
于GDUT
——————————————————————————————————————————————————————————————————