>  기사  >  데이터 베이스  >  STL vector总结(四) Element access(37)

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

WBOY
WBOY원래의
2016-06-07 15:42:531087검색

如果容器的大小大于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

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






성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.