Ayuda C++ y String

Hola me gustaíra saber si alguien sabe alguna forma de invertir una variable tipo String (cadena de caracteres) en C++, usando alguna función k tenga ya prediseñada el C++ para devolverte el String ya invertido o si alguien me puede ayudar y crearme una para invertir por ejemplo: s1 = "hola" y devuelva "aloh" .Es que llevo todo el día probando y me da error al intentar ir asignando cada caracter a una nueva variable tipo string ya k cuando acaba el bucle la variable no contiene lo k tiene k contener.

Por favor k alguien me ayude!!! [buuuaaaa] [buuuaaaa] [buuuaaaa]
string s = "my string";
string reversed = string(s.rbegin(), s.rend());


Sacado de http://www.laneros.com/archive/index.php/t-28934.html (google va muy bien)
Muchas gracias la verdad es k busqué por google pero solo encontraba funciones de otros lenguajes :)
y por que no recorres el vector de string del final al principio con un bucle for y vas guardando la letra de cada posicion en un char y luego se la asignas al string nuevo. Si no mira estos apuntes sobre cadenas de caracteres
http://www.megaupload.com/?d=RIO1Z3MQ
Porque usar los iteradores 'reverse' es mucho más cómodo y menos propenso a errores.

Si te interesa cambiar la cadena 'in place' (sin crear otra nueva). Prueba:

std::reverse(s.begin(), s.end());


- ferdy
4 respuestas