The use of new and delete in c++

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






Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326573186&siteId=291194637