c++怎么把一个字符串倒序函数
时间: 2024-11-04 15:15:01 浏览: 23
在 C++ 中,你可以通过多种方法将一个字符串倒序。以下是几种常见的实现方式:
1. **使用标准库**:
使用 `std::reverse` 函数可以方便地反转字符串。假设我们有一个 `std::string` 变量 `str`:
```cpp
#include <algorithm>
std::string str = "Hello, World!";
std::reverse(str.begin(), str.end());
```
现在 `str` 就变成了 "!dlroW ,olleH"。
2. **字符指针遍历**:
如果不想依赖于容器的内置功能,可以使用字符指针:
```cpp
void reverseString(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
```
调用这个函数就像 `reverseString("Hello, World!");`
3. **RVO(Return Value Optimization)**:
如果你在返回一个新的反转后的字符串,可以利用 RVO 和 C++11 的 `std::string` 运算符重载:
```cpp
std::string reverseString(const std::string& s) {
return {s.rbegin(), s.rend()};
}
```
这里 `rbegin()` 和 `rend()` 提供了反向迭代器,生成的新字符串会自动创建并包含原始字符串的副本。
阅读全文