It doesn't help, C++ strings would be manipulated just fine without that extra character. It helps the code that expects a C string to work, given a pointer to a character in a C++ string.
@SameerThigale - Are you asking Cubbi? Please use @Cubbi if you're not responding to the OP.
As Cubbi implied, std::string keeps track of of how long a string is, so the trailing null character is not required. Any operation on (manipulation of) std::string objects implicitly knows how long each string object is. This is not true of C character strings.
I am mostly pointing out the ambiguity in the question: both C++ strings and string literals are "automatically terminated by null character", and both hold strings of characters.