如何将反向字符串另存为新字符串?

-2 c++ string

我正在尝试做回文检查。因此,为了解决这个问题,我想将原始字符串与反向字符串进行比较。但是,如何在不覆盖旧字符串的情况下保存反向字符串?

reverse(myString.begin(), myString.end())将反转我的字符串,但它将替换myString,并且这样做string reversedString = reverse(myString.begin(), myString.end());不起作用。这是我到目前为止的内容:

int main()
{
    cout << "Enter a string: ";
    string myString;
    getline(cin, myString);
    cout << endl;

    string reversedString = reverse(myString.begin(), myString.end());

    cout << reversedString;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*juk 5

通过使用反向迭代器,创建新的字符串:

string reversedString(myString.rbegin(), myString.rend());
Run Code Online (Sandbox Code Playgroud)

通过使用标准算法和反向迭代器,您可以做更多的事情(因为C ++ 14)

const bool is_palindrome = std::equal(myString.begin(), myString.end(),
                                      myString.rbegin(), myString.rend()));
Run Code Online (Sandbox Code Playgroud)