使用C++标准库怎么使字符串逆转

使用C++标准库如何使字符串逆转请问如何使字符串逆转我的程序#includestring#includeiostreamusing na

使用C++标准库如何使字符串逆转
请问如何使字符串逆转
我的程序
#include<string>
#include<iostream>
using namespace std;
void main()
{
string str="sdfghjkl";
string temp;
size_t j=0;
for(size_t i=str.length();i>=0;i--)
{
temp[j]=str[i];
j++;
}
cout<<temp<<endl;
}
为什么不行呢?

[解决办法]
#include <algorithm>
using namespace std;

reverse(str.begin(),str.end());
[解决办法]
//temp长度为0,你就往里面写?

C/C++ code
void main() {     string str="sdfghjkl";     string::reverse_iterator rIt = str.rbegin();    while (rIt != str.rend())    {        cout << *rIt;        rIt++;    }}
[解决办法]
size_t 是unsigned int,结果是i永远也不会小于0。