¿Por qué debería uno usar std :: string sobre cadenas de estilo c en C ++?

"Uno siempre debe usarstd :: string sobre cuerdas estilo c (char *) "es un consejo que surge para casi todos los códigos fuente publicados aquí. Si bien el consejo es sin duda bueno, las preguntas reales que se abordan no permiten dar más detalles sobre el¿por qué? Aspecto del asesoramiento en detalle. Esta pregunta es para servir como un marcador de posición para el mismo.

Una buena respuesta debe cubrir los siguientes aspectos (en detalle):

¿Por qué debería uno usarstd::string ¿Sobre cadenas de estilo C en C ++?¿Cuáles son las desventajas (si las hay) de la práctica mencionada en#1?¿Cuáles son los escenarios donde lo contrario de los consejos mencionados en#1 es una buena practica?

Respuestas a la pregunta(6)

Su respuesta a la pregunta