¿Cómo se implementa std :: string?

Tengo curiosidad por saber cómo se implementa std :: string y en qué se diferencia de la cadena c. Si el estándar no especifica ninguna implementación, entonces cualquier implementación con una explicación sería excelente si satisface el requisito de string dado por el estándar.