is const char* version anywhere used? and I think that char * can be always converted to string, so only one method should be enough.