The difference between “delete” and “delete []” is the former is used for a pointer only while the latter is used for pointers to an array. Take for example the code below:
int main( int argc, char* argv[] ) { //declare a pointer to an array of char named as a char *a = new char[64]; //declare a pointer to a char named as b char *b = new char; //since a is a pointer to an array of char the use of delete[] is a must delete [] a; //for b which is only a pointer to a char use delete delete b; return 0; }
if you use “delete” on a pointer to an array it will cause a memory leak, so make sure you use the correct “delete”.
Leave a Reply