首页 > 代码库 > STL vector总结(五)Modifiers(38)
STL vector总结(五)Modifiers(38)
这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。
std::vector::assign
- C++98
- C++11
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); |
在第二个请情况下,新的容器一共有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
- C++98
- C++11
void push_back (const value_type& val); void push_back (value_type&& val);
Parameters
- val
Return value
none———————————————————————————————————————————————————
std::vector::pop_back
void pop_back();
将销毁并移除该元素。
Parameters
noneReturn value
none原文地址:http://blog.csdn.net/qq844352155/article/details/38611555
———————————————————————————————————————————————————
std::vector::insert
- C++98
- C++11
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); |
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
- C++98
- C++11
iterator erase (const_iterator position);
iterator erase (const_iterator first, const_iterator last);
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
- C++98
- C++11
void clear() noexcept;
Parameters
noneReturn value
nonestd::vector::emplace
template <class... Args>
iterator emplace (const_iterator position, Args&&... args);
通过在指定位置插入一个新的元素以扩展容器,新的元素的值为args或者是元素根据args的值构造。
Parameters
- position
新元素插入容器的位置。
args
- 用于构造器构造新元素的参数。
Return value
返回值是一个指向新插入的元素的iterator。
std::vector::emplace_back
template <class... Args>
void emplace_back (Args&&... args);
在vector的结尾插入一个新的元素,位置为当前最后一个元素的右边,元素的值使用args作为参数传递给其构造函数构造。
Parameters
- args
- 用于构造新元素的参数。
Return value
none——————————————————————————————————————————————————————————————————
//总结的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。
转载请注明出处:http://blog.csdn.net/qq844352155
author:天下无双
Email:coderguang@gmail.com
2014-8-27
于GDUT
——————————————————————————————————————————————————————————————————
STL vector总结(五)Modifiers(38)