C++のヒープに関する小さな理解の問題があります。ヒープを理解する問題
私はWchar_t配列をChar-Arrayに変換するための小さなクラスを作成しました。ここに私の変換クラスの一部である:
私は動的にヒープの新シャア・アレイを作成した.h CPP-ファイルに
class ConvertDataType
{
private:
char *newChar;
};
た.cpp
size_t i;
char *newChar = new char[wcslen(WcharArray)];
wcstombs_s(&i, newChar, strlen(newChar), WcharArray, wcslen(WcharArray));
return newChar;
。 変数を正しく削除するにはどうすればよいですか?私はそれが好きだろう
delete[] newChar[i];
:私は... forループで
delete[] newChar;
を異なる、例をたくさん読ん
~ConvertDataType(void) //deconstructor
{
delete[] newChar;
}
は正しいことですか? newChar[i]
のコンテンツはどうなりますか?私はちょうどポインタを破壊するのではないですか?
私はクラスを使用すると、メモリリークが発生したという問題はまだありますか? これはどのようにすることができますか?デコンストラクタdelete[] newChar;
に追加しました。
を 'のstd :: STRING'と'のstd :: wstring'を使用することです。後者を前者に変換するには、 'std :: string s(ws.begin()、ws.end())'を実行します。 –
今は私が言ったように、それはとてもうまく動作します。ありがとうございました。このソリューションを使用すると、メモリリークの問題を修正することもできます。みんな、ありがとう! – hofmeister