3
ここには、動的に割り当てられたC文字列の配列があります。C文字列の配列を解放する
このような配列を解放する適切な方法は何ですか?
A
の各要素を次のコードで個別に解放する必要がありますか?
ありがとうございます。
#include <string.h>
int main()
{
const char** A = new const char*[3];
A[0] = (const char*)memcpy(new char[5], "str0", 5);
A[1] = (const char*)memcpy(new char[5], "str1", 5);
A[2] = (const char*)memcpy(new char[5], "str2", 5);
// Is this the proper way to free everything?
for (int i = 0; i < 3; ++i)
delete[] A[i];
delete[] A;
}
なぜ 'std :: vector'を使用せず、メモリ管理を標準ライブラリに任せていますか? –
NathanOliver
'ベクトル'を使用してください。 –
'#include' - しかしあなたは 'std :: string'の使用に失敗しました。これは、 'std :: string'、' std :: wstring'などを定義するヘッダーです。あなたがこのヘッダーをインクルードしたときに他に何を期待しているのか分かりません。 –
PaulMcKenzie