C++ TUTORIALS - C++ Dynamic Memory
C++ Dynamic Memory
ADVERTISEMENTS
The new and delete operators:
new data-type;ADVERTISEMENTS
double* pvalue = NULL; // Pointer initialized with null pvalue = new double; // Request memory for the variableADVERTISEMENTS
double* pvalue = NULL; if( !(pvalue = new double )) { cout << "Error: out of memory." <<endl; exit(1); }
delete pvalue; // Release memory pointed to by pvalue
#include <iostream> using namespace std; int main () { double* pvalue = NULL; // Pointer initialized with null pvalue = new double; // Request memory for the variable *pvalue = 29494.99; // Store value at allocated address cout << "Value of pvalue : " << *pvalue << endl; delete pvalue; // free up the memory. return 0; }Dynamic Memory Allocation for Arrays:
char* pvalue = NULL; // Pointer initialized with null pvalue = new char[20]; // Request memory for the variable
delete [] pvalue; // Delete array pointed to by pvalue
double** pvalue = NULL; // Pointer initialized with null pvalue = new double [3][4]; // Allocate memory for a 3x4 array
delete [] pvalue; // Delete array pointed to by pvalueDynamic Memory Allocation for Objects:
#include <iostream> using namespace std; class Box { public: Box() { cout << "Constructor called!" <<endl; } ~Box() { cout << "Destructor called!" <<endl; } }; int main( ) { Box* myBoxArray = new Box[4]; delete [] myBoxArray; // Delete array return 0; }