2
私はこのコードを書いた:メモリリークの原因になりますか?
string getWinTitle(HWND hwnd){
const int MAX_LENGTH = 1000;
wchar_t title[MAX_LENGTH];
ZeroMemory(title, MAX_LENGTH);
GetWindowText(hwnd, (LPWSTR)title, MAX_LENGTH);
char* buffer = new char[MAX_LENGTH];
wcstombs(buffer, title, MAX_LENGTH);
string res = buffer;
return res;
}
は、ここではメモリリークがありますか? ZeroMemoryによって割り当てられたメモリを解放する必要がありますか? バッファに割り当てられたメモリを明示的に解放する必要がありますか?
は、それがnew []
割り当てられていますので、あなたがdelete [] buffer;
に必要なあなたに
+1 @マイケルズ:十分に手助けをしたら、この回答を受け入れてください。 –
+1。代わりに、単にスタック内に 'buffer'を定義して、メモリ管理を全く扱わなくてもかまいません。 –
Davidさん、スタックにバッファを定義する方法は? – michaels123