C++ supports characters strings two ways. The first is as a null-terminated character array. This is sometimes referred to as a C string. The second way is as a class object of type basic_string. The basic_string class is essentially a container. this means that iterators and the STL algorithms can operate on string. However, string has additional capabilities.

C++ string recognizes operators: <, <=, >, >=, ==, !=, =, += .

When you use template functions, or classes you don't need to write addition function with strcpy, ctrcmp of ctrcat... In this case C++ string works like any of built-in data type.

String functions.

C++ string, like any of container classes, has its own public functions, that add a lot of flexibility for manipulation of C++ string data type.

Overflowing.

You don't need to think about overflowing or null-terminating character. C++ string allows use sequence of characters as long as allows ability of your OS.