Tom Browder <tom.browder@xxxxxxxxx> writes: > It would be nice if this would construct an empty string: > > #include <string> > std::string s(0); > > At the moment that gives a core dump. > > Is that defined behavior according to the standard? If not, what > about a g++ enhancement? The standard says that you may only pass a valid pointer to the std::string constructor. You are passing an invalid pointer, so your code is undefined. As to whether libstdc++ should check for NULL, that is a perennial question: should we slow down the library a tiny bit for everybody in order to do better handling of an undefined case for those who find it more convenient? There is no clearly correct answer. Ian