C++字符串反转函数
时间: 2025-05-13 14:55:36 浏览: 29
### C++ 实现字符串反转的方法
在 C++ 中,可以通过多种方式实现字符串反转。下面提供一种基于标准库 `std::string` 的方法以及另一种手动实现的方式。
#### 方法一:使用标准库函数
C++ 提供了强大的标准模板库 (STL),其中包含可以直接使用的工具来简化开发过程。可以利用 `<algorithm>` 头文件中的 `std::reverse()` 函数轻松完成字符串反转操作:
```cpp
#include <iostream>
#include <algorithm> // std::reverse()
#include <string>
void reverseString(std::string& str) {
std::reverse(str.begin(), str.end()); // 使用 STL 的 reverse 函数
}
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
std::cin >> input;
reverseString(input);
std::cout << "反转后的字符串为: " << input << std::endl;
return 0;
}
```
此代码片段展示了如何借助 STL 完成字符串反转[^1]。
#### 方法二:手动实现字符串反转逻辑
如果不想依赖于 STL,则可以选择自己编写反转逻辑。这种方法通常涉及遍历字符串并交换两端字符的位置直到中间位置为止:
```cpp
#include <iostream>
#include <string>
std::string reverseString(const std::string& originalStr) {
int n = originalStr.length();
std::string reversedStr(n, ' '); // 创建相同长度的新字符串
for(int i=0;i<n;i++) {
reversedStr[i]=originalStr[n-i-1]; // 将原字符串倒序赋值给新字符串
}
return reversedStr; // 返回已反转的字符串
}
int main(){
std::string userInput;
std::cout<<"请输入要反转的字符串:";
std::getline(std::cin,userInput);
std::string result = reverseString(userInput);
std::cout << "反转后的字符串为:" << result << std::endl;
return 0;
}
```
上述代码实现了不依靠任何外部库的手动字符串反转功能[^3]。
#### 性能对比分析
两种方法各有优劣。第一种方法简单明了,易于维护,但由于引入额外头文件可能稍微增加编译时间;第二种方法则完全控制内部细节,适合那些追求极致性能优化或者受限环境下的应用场合[^2]。
---
阅读全文
相关推荐


















