Memory management operators
- Arrays can be used to store multiple homogenous data but there are serious drawbacks of using arrays.
- Programmer should allocate the memory of an array when they declare it but most of time, the exact memory needed cannot be determined until runtime.
- The best thing to do in this situation is to declare the array with maximum possible memory required (declare array with maximum possible size expected) but this wastes memory.
- So, To avoid wastage of memory, you can dynamically allocate the memory required during runtime using
What are memory management operators?
There are two types of memory management operators in C++:
These two memory management operators are used for allocating and freeing memory blocks in efficient and convenient ways.
- The new operator in C++ is used for dynamic storage allocation. This operator can be used to create object of any type.
General syntax of new operator in C++:
pointer variable = new datatype;
- In the above statement, new is a keyword and the pointer variable is a variable of type datatype.
1. int *a = new int;
2. *a = 20;
3. int *a = new int(20);
- In the above example, the new operator allocates sufficient memory to hold the object of datatype int and returns a pointer to its starting point.
- the pointer variable a holds the address of memory space allocated.
- The delete operator in C++ is used for releasing memory space when the object is no longer needed.
- Once a new operator is used, it is efficient to use the corresponding delete operator for release of memory.
General syntax of delete operator in C++:
delete pointer variable;
//Allocates using new operator memory space in memory for storing a integer datatype
int *a= new int;
cout << " The Output is:a= " << *a;
//Memory Released using delete operator
The Output is:a=100
In the above program, the statement:
int *a= new a;
Holds memory space in memory for storing a integer datatype.