with "const char*', how buffer should be freed? 
that is why usually objects are preferred instead of pointers for some return values.
yes, construct, copy construct, but clear and safe. if used only for log at startup, who cares for added implicit code.