STLvector中的crbegin方法(7)


STLvector中的crbegin方法(7)


其实crbegin就相当于cbegin+rbegin.
关于这两个函数可以看我的上两篇博文。

public member function
<vector>

std::vector::crbegin

const_reverse_iterator crbegin() const noexcept;
Return const_reverse_iterator to reverse beginning

Returns a const_reverse_iterator pointing to the last element in the container (i.e., its reverse beginning).

该函数返回一个具有const属性的reverse_iterator,指向该容器的最后一个元素。


Parameters

none


Return Value

const_reverse_iterator to the reverse beginning of the sequence.

返回值是一个具有const属性的指向序列反向开头的反向迭代器。


Member type const_reverse_iterator is a reverse random access iterator type that points to a const
element (see vector member types).
返回值的类型属于反向的随机访问迭代器类型。

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// vector::crbegin/crend
#include <iostream>
#include <vector>

int main ()
{
  std::vector<int> myvector = {1,2,3,4,5};

  std::cout << "myvector backwards:";
  for (auto rit = myvector.crbegin(); rit != myvector.crend(); ++rit)
    std::cout << ' ' << *rit;
  std::cout << '\n';

  return 0;
}

Output:

myvector backwards: 5 4 3 2 1



Complexity

Constant.


Iterator validity

No changes.


Data races

The container is accessed.

No contained elements are accessed by the call, but the iterator returned can be used to access them. Concurrently accessing or modifying different elements is safe.

该方法不会实际访问容器里的元素,但是返回的这个iterator可以用来访问元素,并且用他们来访问或者是修改不同的元素都是安全的。(这里似乎有点问题?运用const_cast转换?这里似乎转化不了,什么情况?)

Exception safety

No-throw guarantee: this member function never throws exceptions.

The copy construction or assignment of the returned iterator is also guaranteed to never throw.

该方法不会抛出异常。

利用复制构造函数或者赋值运算得到该iterator的拷贝也不会抛出异常。

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

转载请注明出处:http://blog.csdn.net/qq844352155

2014-8-11

于GDUT


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注