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
只需使用'vector'。 –
'#include' - 然而你沒有使用'std :: string'。這是定義'std :: string','std :: wstring'等的頭文件。我不知道當你包含這個頭文件時你還有什麼期望。 –
PaulMcKenzie