假设我有一个函数将字符串作为char *
void GiveMeFileName(const char* fileName)
我称之为
std::string folderName("C:\\myFolder\\");
GiveMeFileName((folderName + "file.dat").c_str());
据我所知,它的工作正常,但为什么我脑子里有点摇摇欲坠。
当我将const char *添加到std :::字符串时,它会创建一个新字符串,我调用c_str()来将指针传递给函数。是否有可能在我调用c_str()并将其解析为指针后,临时创建的字符串将被删除,而我传递的内容实际上是指向对象残余的指针,因此可能会失败?