Hello Hyrum! On Thursday 14 October 2010, Hyrum K. Wright wrote: > The following is a somewhat naïve implementation, but does it jive > with your suggestion? ... > inline const char *c_str() const > { > if (isNull) > return NULL; > else > return std::string::c_str(); > } It might be easier for callers if this did if (isNull) return ""; so that the value could just be used in printf() and similar without explicit checking.
Furthermore I don't know how many instances of these strings will be active simultaneously; but the "bool isNull" could cost up to 8 bytes (because of aligning on 64bit). If that is a concern, how about using a specific, static value for the std::string instead that is compared against? I know, microoptimization again, but I wanted to mention the idea. Regards, Phil