Will having explicit conversion operators replace std::string::c_str()? I can see the conversion operating causing problems with things like printf. Outside of type unsafe functions, would there be any other gotchas?