He was going to change it to point to an empty string.
As for operator+, it is to allow efficient implementation of this that the standard does not require that it internally holds a contiguous buffer. Effectively you can have a variation of a string that has two or more pointers concatenated together (A rope, I think they call it).
It is relatively easy to implement a string that works. It is extremely difficult to implement one that works well in all (or at least the most common) situations.

