Friday, February 5, 2010

Describe new operator and delete operator.

new and delete operators are provided by C++ for runtime memory management. They are used for dynamic allocation and freeing of memory while a program is running.
The new operator allocates memory and returns a pointer to the start of it. The delete operator frees memory previously allocated using new. The general form of using them is:
p_var = new type;
delete p_var;
new allocates memory on the heap. If there is insufficient memory, then new will fail and a bad_alloc exception will be generated. The program should handle this exception.
Consider following program:
#include
#include
using namespace std;
int main()
{
          int *p;
          try
          {
                  p = new int; //dynamic allocation of memory 
          }
          catch (bad_alloc x)
          {
                   cout << “Memory allocation failed”;
                   return 1;
          }
          *p = 100;
           cout <<”P has value”<<*p;
           delete p;        //free the dynamically allocated memory
           return 0;
}

0 Comments: