还有没有简单一点的方法呢
时间: 2024-02-06 09:12:27 浏览: 86
是的,还有一种更简单的方法,可以使用 `string` 类的 `rbegin()` 和 `rend()` 方法,它们分别返回字符串的反向迭代器的起始位置和结束位置。我们可以使用 `for` 循环将反向迭代器中的字符一个一个输出,从而实现字符串反转的效果。以下是代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
cout << "翻转后的字符串为:";
for (auto it = str.rbegin(); it != str.rend(); it++) {
cout << *it;
}
cout << endl;
return 0;
}
```
在上面的代码中,我们使用 `auto` 关键字声明了一个迭代器 `it`,它的类型是字符串的反向迭代器。然后,在 `for` 循环中,我们使用 `*it` 来输出反向迭代器中当前位置的字符。
需要注意的是,`rbegin()` 和 `rend()` 方法返回的是反向迭代器,因此不能使用下标访问符 `[]` 来访问其中的元素,而是需要使用 `*` 运算符来解引用迭代器。
阅读全文
相关推荐


















