Efficiency results are mixed and sometimes depends on the particular compiler used.
Memory management for C-strings is the responsibility of the programmer; C++ string class manages memory for the characters in a C++ string.
Other possible advantages for C++ string over C-strings:
- Getting string length faster
- Assignment of long strings faster (except slower with Microsoft compiler)