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;
これは文字列を削除しますか?