Possible Duplicate:
Is delete[] equal to delete?
int main()
{
char *ptr = new char[10];
delete ptr; // or delete [] ptr;
}
delete []
is for arrays, and delete
is for a single object, right? So, it should be delete [] ptr;
in the above code, but it seems delete ptr;
is also ok. Weird?
Moreover,
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;
}