Skip to content
Related Articles

Related Articles

Improve Article
vector::crend() & vector::crbegin() with example
  • Difficulty Level : Basic
  • Last Updated : 01 Feb, 2019

These functions return useful iterators to access vector elements in reverse order (from end to beginning)

Using vector::crend()

It’s a public member function that returns a const_reverse_iterator pointing to the element preceding the first element.
Return Value

A const_reverse_iterator to the reverse 
end of the sequence.

Syntax:

const_reverse_iterator crend() const noexcept;

Using vector::crbegin()



It returns a const_reverse_iterator pointing to the last element in the container (i.e., its reverse beginning)..
Return Value

A const_reverse_iterator to the reverse 
beginning of the sequence.

Syntax:

const_reverse_iterator crbegin() const noexcept;




// CPP program to illustrate working of crbegin() 
// crend()
#include <iostream>
#include <vector>
using namespace std;
  
int main ()
{
  // initializing vector with values
  vector<int> vect = {10, 20, 30, 40, 50};
  
  // for loop with crbegin and crend
  for (auto i = vect.crbegin(); i != vect.crend(); i++)
    cout << ' ' << *i;  //printing results
   
  cout << '\n';
  return 0;
}

Output:

50 40 30 20 10

Applications
crend :
Returns a reverse iterator to the element following the last element of the reversed container. It corresponds to the element preceding the first element of the non-reversed container. This element acts as a placeholder, attempting to access it results in undefined behavior
crbegin :
Returns a reverse iterator to the first element of the reversed container. It corresponds to the last element of the non-reversed container.
Both are used in deque operations, concurrently accessing or modifying different elements is safe.
The copy construction or assignment of the returned iterator is also guaranteed to never throw exception.

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :