我正在编写一个函数来加载一个 txt 文件并返回一个 const char* 下面的函数可以工作,我的问题是,如果我不存储 *pS 然后调用 delete pS ,这个函数会导致内存泄漏吗?
const char* loadFile(string fname)
{
string line,text;
ifstream in(fname);
while(std::getline(in, line))
{
text += line + "\n";
}
string *pS = new string(text);
const char* data = pS->c_str();
return data;
}
该函数在我的代码中使用如下
static const char* pVS;
...
pVS = loadFile("VS.txt");
...
delete pVS;
这会删除字符串吗?