I like the doxy and the function name change but honestly keeping it void ChangeBasePath(std::string &strFile, const std::string &fromPath, const std::string &toPath) seems to make more sense to me. Also passing a ref seems more convenient as it generally saves a temp var (up till now).