c++中的string有没有reverse
时间: 2023-10-10 15:16:07 浏览: 98
C语言中的string是一个字符数组,没有内置的reverse函数。但是可以通过编写自己的函数来实现字符串反转。以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出:
```
Original string: hello world
Reversed string: dlrow olleh
```
相关问题
C++里string类的reverse的返回值类型
在C++中,`std::string`类的`reverse`函数没有返回值。它是一个成员函数,用于反转字符串本身,而不是返回一个新的字符串。`reverse`函数会修改调用它的字符串对象。
以下是一个示例代码,展示如何使用`reverse`函数反转一个字符串:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World";
std::cout << "原始字符串: " << str << std::endl;
str.reverse(); // 反转字符串
std::cout << "反转后的字符串: " << str << std::endl;
return 0;
}
```
在这个例子中,我们使用`reverse`函数反转了字符串`str`。注意,`reverse`函数没有返回值,它直接修改了`str`对象,使其成为反转后的字符串。
希望这个回答对你有所帮助!如果你还有其他问题,请随时提问。
c++中的string 类有没有reverse函数
在C++中,`std::string` 类型确实有一个名为 `reverse` 的成员函数,用于反转字符串中的字符顺序。这个函数不会改变原始字符串,而是返回一个新的反转后的字符串。语法通常是这样的:
```cpp
std::string original = "Hello, World!";
std::string reversed = original.reverse(); // 这里实际上是返回了一个新字符串 "dlroW ,olleH"
```
然而,`reverse` 函数本身并不是直接作用于原字符串的,如果你想在原地修改字符串,你可以使用 `rbegin()` 和 `rend()` 函数结合迭代器来实现:
```cpp
std::string original = "Hello, World!";
auto it = original.begin();
auto end = original.end();
while (it != end) {
std::iter_swap(it++, end--);
}
```
但这不是 `reverse` 函数,而是手动实现了字符串反转。
阅读全文