我正在尝试反转一个字符串(c ++,用g ++编译)。 字符串不被视为算法函数的容器吗?
这是代码:
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str = "hello";
str.reverse(str.begin(), str.rbegin());
return 0;
}
由于
答案 0 :(得分:1)
std::string类模板没有名为reverse
的成员函数。 <algorithm>
标题中有std::reverse个函数。您可能希望以下列方式使用它:
#include <string>
#include <algorithm>
int main() {
std::string str = "hello";
std::reverse(str.begin(), str.end());
}
请注意使用str.end()
代替str.rbegin()
。您还可以定义一个新字符串,并使用接受反向迭代器的字符串构造函数重载:
#include <string>
int main() {
std::string str = "hello";
std::string reversestr(str.rbegin(), str.rend());
}
答案 1 :(得分:0)
std::string
没有方法reverse
。但std::reverse
存在:
#include <string>
#include <algorithm>
#include <iostream>
int main()
{
std::string str = "hello";
std::reverse(str.begin(), str.end());
std::cout << str << "\n"; // prints "olleh"
}