C++如何将string字符串颠倒
时间: 2024-10-20 19:12:07 浏览: 26
MFC字符串CString 操作用法详解
在C++中,你可以使用多种方法来反转一个`std::string`。以下是其中几种常见的方式:
1. **迭代法**(遍历并逐字符添加到新字符串):
```cpp
#include <iostream>
#include <string>
std::string reverseString(const std::string& str) {
std::string reversed;
for (int i = str.length() - 1; i >= 0; i--) {
reversed += str[i];
}
return reversed;
}
int main() {
std::string input = "Hello, World!";
std::cout << "Reversed string: " << reverseString(input) << std::endl;
return 0;
}
```
2. **RVO和SFINAE**(利用C++11的特性):
```cpp
#include <algorithm> // includes std::reverse
#include <string>
std::string reverseString(const std::string& str) {
return std::string(str.rbegin(), str.rend());
}
int main() {
std::string input = "Hello, World!";
std::cout << "Reversed string: " << reverseString(input) << std::endl;
return 0;
}
```
这里`rbegin()`返回一个反向迭代器,`rend()`返回一个结束迭代器,它们之间的区间会创建一个新的`std::string`。
阅读全文