重複の可能性:
delete[] は delete と同じですか?
int main()
{
char *ptr = new char[10];
delete ptr; // or delete [] ptr;
}
delete []
は配列delete
用で、単一のオブジェクト用ですよね? delete [] ptr;
したがって、上記のコードにあるはずですが、それdelete ptr;
も問題ないようです。変?
さらに、
int main()
{
int x;
cin >> x;
char *ptr = new char[x]; //cannot make sure whether it is a char pointer or a pointer to an array, right?
// delete ptr, or delete [] ptr;
}