Home  >  Article  >  Database  >  STL vector总结(四) Element access(37)

STL vector总结(四) Element access(37)

WBOY
WBOYOriginal
2016-06-07 15:42:531023browse

如果容器的大小大于n,不会抛出异常。 否则,将导致未知的错误。 ——————————————————————————————————————————————————— public member function vector std:: vector::at reference at (size_type n);c

如果容器的大小大于n,不会抛出异常。

否则,将导致未知的错误。




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

public member function

std::vector::at

<span>      reference at (size_type n);
const_reference at (size_type n) const;</span>

返回一个指向位置n的元素的引用。

该方法将自动检测n是否是在一个有效的范围,如果不是则将抛出out_of_range异常。

另一个对照的方法是operator[],这个方法不会检测数据的有效性。

Parameters

n

n是元素在vector中的位置。

如果n大于或者等于数组的size,那么将会抛出out_of_range异常。

注意,第一个元素的位置为0而不是1.

Return value

返回值为元素在容器内指定位置的值

当n不在范围内时抛出out_of_range异常。




__________________________________________________________________________________________________________________________________________

public member function

std::vector::front

<span>      reference front();
const_reference front() const;</span>

访问第一个元素

返回第一个元素的引用。

和begin不一样,begin是返回一个迭代器,而front是返回一个直接引用。

对一个空的容器调用该方法将会导致不可预料的结果

Parameters

none

Return value

一个指向该vector容器中第一个元素的引用.




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

public member function

std::vector::back

<span>      reference back();
const_reference back() const;</span>

返回最后一个元素的引用。

和end不一样的是,end是返回一个指向超尾元素的迭代器,而这个函数是直接返回一个引用。

对一个空的容器调用该方法会导致未知的行为。

Parameters

none

Return value

返回值是一个指向vector中最后一个元素的引用。



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

public member function

std::vector::data

<span>      value_type* data() noexcept;
const value_type* data() const noexcept;</span>

返回一个直接指向内存中存储vector元素位置的指针。

因为vector里面的元素都是顺序连续存放的,该指针可以通过偏移量来访问数组内的所有元素。

Parameters

none

Return value

返回一个指针指向数组第一个元素所在的内存。


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

//总结的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。


author:天下无双

Email:coderguang@gmail.com

2014-8-27

于GDUT

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






Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn