C++の次のソースコードを検討してください
vector <char *> myFunction()
{
vector <char *> vRetVal;
char *szSomething = new char[7];
strcpy(szSomething,"Hello!");
vRetVal.push_back(szSomething); // here vRetVal[0] address == &szSomething
delete[] szSomething; // delete[]ing szSomething will "corrupt" vRetVal[0]
szSomething = NULL;
return vRetVal; // here i return a "corrupted" vRetVal
}
push_backを使用して、参照で取得する代わりに、渡したパラメーターのコピーを作成する方法について何かアイデアはありますか?他のアイデアも受け入れられ、高く評価されています。