std::string::crbegin() and std::string::crend() in C++ with Examples

std::string::crbegin()

The std::string::crbegin() is a string class built-in function that returns a constant reverse iterator referring to the last element in the string. Using this iterator starts the string traversal from the end of the string.

Header File:

#include <string>

Template Class:

template <class C>
auto crbegin( const C& c ) 
        -> decltype(std::rbegin(c));

Syntax:



string_name.crbegin()

Parameters: This function doesn’t required any parameters.

Return Value: This function std::string::crbegin() returns a constant reverse iterator referring to the last element in the string.

Below is the program to illustrate string::crbegin():

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate
// std::string:crbegin()
  
#include <iostream>
#include <string>
using namespace std;
  
// Driver Code
int main()
{
  
    // Given string
    string str("GeeksForGeeks");
  
    // Traverse the given string using
    // reverse iterator crbegin()
    for (auto it = str.crbegin();
         it != str.crend(); it++) {
  
        // Print the elements
        cout << *it;
    }
    return 0;
}

chevron_right


Output:

skeeGroFskeeG

std::string::crend()

The std::string::crend() is a string class built-in function that returns a constant reverse iterator pointing to the theoretical element before the first element in the string. This iterator is used to reach the starting of the string while traversing string in reverse order.

Template Class:



template <class C>
auto crend( const C& c ) 
      -> decltype(std::rend(c));

Syntax:

string_name.crend()

Parameters: This function doesn’t required any parameters.

Return Value: This function std::string::crend() returns a constant reverse iterator pointing to the element before the first element in the string.

Below is the program to illustrate string::crend():

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate
// std::string:crend()
  
#include <iostream>
#include <string>
using namespace std;
  
// Driver Code
int main()
{
    // Given string
    string str("GeeksForGeeks");
  
    // Find string length
    int N = str.length();
  
    // Given character
    char ch = 'k';
  
    // To check whether the char is
    // present or not
    bool a = true;
  
    // Traverse the given string using
    // reverse iterator crbegin() and
    // check if ch is present or not
    for (auto it = str.crbegin();
         it != str.crend(); it++) {
  
        if (*it == ch) {
            cout << "The last index is "
                 << N - (it - str.crbegin() + 1)
                 << endl;
            a = false;
            break;
        }
    }
  
    if (a) {
        cout << "Character is not present";
    }
  
    return 0;
}

chevron_right


Output:

The last index is 11

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.