首页 > 代码库 > STL vector总结(五)Modifiers(38)

STL vector总结(五)Modifiers(38)

这里是vector的所有构造方法,成员方法的一些总结,具体的可以详看后面的链接。

public member function
<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);
给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

  • C++98
  • C++11
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

  • 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);
通过在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

  • C++98
  • C++11
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

  • C++98
  • C++11
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:coderguang@gmail.com

2014-8-27

于GDUT

——————————————————————————————————————————————————————————————————




STL vector总结(五)Modifiers(38)