Difference between delete and delete[]?
Answers were Sorted based on User's Feedback
Answer / sachin mahajan
When we want to free a memory allocated to a pointer to an
object then "delete" is used.
Ex
int * p;
p=new int;
// now to free the memory
delete p;
But when we have allocated memory for array of objects like
int * p= new int(10); //pointer to an array of 10 integer
then to free memory equal to 10 integers
delete []p;
NOTE: One can free the memory even by "delete p;" But it
will free only the first element memory.
Is This Answer Correct ? | 70 Yes | 9 No |
Answer / laxman
delete is only just to delete a variable which is created
by new operator. delete[] , it deletes the array where the
varaialbe points .
Is This Answer Correct ? | 24 Yes | 8 No |
Answer / vikas
If p is pointer to an array and is allocated memory on
heap, then delete p would call the destructor of the first
element but will free up the whole block. More info at:
http://www.cppquestions.com/viewtopic.php?f=27&t=13
Is This Answer Correct ? | 14 Yes | 5 No |
Answer / namitha
delete is a function used to deallocate the storage space.
delete[] is a function used to deallocate the storage space
of an array.
Is This Answer Correct ? | 11 Yes | 8 No |
Answer / sunita shukla
Delete p deallocate memory pointed to by p and delete []p deallocate array. But delete p will delete only p[0]. Other array's Size-1 entries will not be deleted and this memory will leak.
Is This Answer Correct ? | 3 Yes | 0 No |
What is the difference between passing by reference and passing a reference?
Explain what is oop?
Which is best c++ or java?
What are the total number of lines written by you in C/C++? What is the most complicated or valuable program written in C/C++?
Can we remove an element in a single linked list without traversing? Lets suppose the link list is like this 1 2 3 4 5 6 We need to remove 4 from this list (without traversing from beginning) and the final link list shud be 1 2 3 5 6 only thing we know is the pointer to element "4". How can we remove "4" and link "3" to "5"?
Are there any special rules about inlining?
What is the use of endl?
What is the benefit of encapsulation?
Write any small program that will compile in "C" but not in "C++"?
What is the function of I/O library in C++ ?
Why is c++ still popular?
Is python written in c or c++?