String literals are of type charconst * - that is, a string literal evaluates to a pointer to the first character, and the character of the string literal are constant.
The std::string type is a class with data members and member functions, on the other hand.