1. Definition
First of all, make it clear that new and delete are used in C++ to apply for and release memory, and secondly, new and delete should be used in pairs
Finally, new and delete cannot be mixed with malloc and free
2. Use
First figure out the internal mechanism of c++ when using new
1. When initializing an object
new--->operator new--->malloc--->constructor
2. When initializing several objects
new[]--->operator new[]--->operator new--->malloc--->constructor
When the object is deleted, the calling sequence is:
1. When deleting a single object:
delete--->destructor--->operator delete--->free
2. When deleting multiple objects:
delete[]--->destructor--->operator delete[]--->operator delete--->free
The general format used by new:
Format 1: pointer variable name = new type identifier
Format 2: pointer variable name = new type identifier (initial value)
Format 3: Pointer variable name = new type identifier [number of memory units]
The general format used by delete:
Format 1: delete pointer variable name
Format 2: delete [] pointer variable name
intmain() { int *a = new int ; delete a; int *b = new int[5]; delete [] b; }
Welcome to point out the shortcomings