# std::basic_string<CharT,Traits,Allocator>::rbegin, std::basic_string<CharT,Traits,Allocator>::crbegin

< cpp‎ | string‎ | basic string

| (1) |
reverse_iterator rbegin(); |  | (C++11 前)
reverse_iterator rbegin() noexcept; |  | (C++11 起) (C++20 前)
constexpr reverse_iterator rbegin() noexcept; |  | (C++20 起)
| (2) |
const_reverse_iterator rbegin() const; |  | (C++11 前)
const_reverse_iterator rbegin() const noexcept; |  | (C++11 起) (C++20 前)
constexpr const_reverse_iterator rbegin() const noexcept; |  | (C++20 起)
| (3) |
const_reverse_iterator crbegin() const noexcept; |  | (C++11 起) (C++20 前)
constexpr const_reverse_iterator crbegin() const noexcept; |  | (C++20 起)

返回指向逆转字符串首字符的逆向迭代器。它对应非逆向字符串的末字符。

### 参数

（无）

### 返回值

指向首字符的逆向迭代器

### 复杂度

常数

### 示例

    #include <iostream>
    #include <algorithm>
    #include <iterator>
    #include <string>

    int main()
    {
        std::string s("Exemplar!");
        *s.rbegin() = 'y';
        std::cout << s << '\n'; // "Exemplary"

        std::string c;
        std::copy(s.crbegin(), s.crend(), std::back_inserter(c));
        std::cout << c << '\n'; // "yralpmexE"
    }

输出：

    Exemplary
    yralpmexE

### 参阅

rend crend (C++11) | 返回指向末尾的逆向迭代器 (公开成员函数)