这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。
std::vector::assign
在版本(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
———————————————————————————————————————————————————
std::vector::push_back
该函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素,新的元素的值是val的拷贝(或者是移动拷贝).
Parameters
- val
原文地址:http://blog.csdn.net/qq844352155/article/details/38553845
———————————————————————————————————————————————————
std::vector::pop_back
void pop_back();
将销毁并移除该元素。
Parameters
none
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38611555
———————————————————————————————————————————————————
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
___________________________________________________________________________________________
std::vector::erase
Parameters
- position
-
一个指向要被擦除的元素的迭代器。
-
first, last
-
指示特定范围内将被移除元素位置的迭代器。该范围包括first到last之间的所有元素,包括first指向的元素,但不包括last指向的元素。
Return value
返回值为一个迭代器,其指向被擦除的最后一个元素的下一个位置的元素。
原文地址:http://blog.csdn.net/qq844352155/article/details/38641813
———————————————————————————————————————————————————
std::vector::swap
void swap (vector& x);
调用该函数之后,存储在该容器内的元素是那些本来在x中的元素,x中的元素是原本存储在该容器中的元素(即交换内容),所有的迭代器,引用以及指针在交换后依旧有效。
Parameters
- x
x是另一个将被交换的同类型的vector容器。
Return value
none
原文地址:http://blog.csdn.net/qq844352155/article/details/38686549
———————————————————————————————————————————————————
std::vector::clear
std::vector::emplace
template <class... Args>
iterator emplace (const_iterator position, Args&&... args);
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
std::vector::emplace_back
template <class... Args>
void emplace_back (Args&&... args);
在vector的结尾插入一个新的元素,位置为当前最后一个元素的右边,元素的值使用args作为参数传递给其构造函数构造。
——————————————————————————————————————————————————————————————————
//总结的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。
转载请注明出处:http://blog.csdn.net/qq844352155
author:天下无双
Email:coderguang@gmail.com
2014-8-27
于GDUT
——————————————————————————————————————————————————————————————————