📜  C++ 中的 std:: 字符串::crbegin() 和 std:: 字符串::crend() 与示例

📅  最后修改于: 2021-09-03 04:06:23             🧑  作者: Mango

std:: 字符串::crbegin()

std:: 字符串::crbegin()是一个字符串类内置函数,它返回一个指向字符串最后一个元素的常量反向迭代器。使用这个迭代器从字符串的末尾开始遍历字符串。

头文件:

#include 

模板类:

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

句法:

string_name.crbegin()

参数:该函数不需要任何参数。

返回值:该函数std:: 字符串::crbegin()返回一个指向字符串最后一个元素的常量反向迭代器。

下面是说明字符串::crbegin() 的程序

方案一:

// C++ program to illustrate
// std::string:crbegin()
  
#include 
#include 
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;
}
输出:
skeeGroFskeeG

std:: 字符串::crend()

std:: 字符串::crend()是一个字符串类内置函数,它返回一个常量反向迭代器,指向字符串第一个元素之前的理论元素。此迭代器用于在以相反顺序遍历字符串到达字符串的开头。

模板类:

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

句法:

string_name.crend()

参数:该函数不需要任何参数。

返回值:此函数std:: 字符串::crend()返回一个常量反向迭代器,指向字符串第一个元素之前的元素。

下面是说明字符串::crend() 的程序

方案二:

// C++ program to illustrate
// std::string:crend()
  
#include 
#include 
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;
}
输出:
The last index is 11
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解基础加 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程