devxlogo

Reallocating Memory Pointers

Reallocating Memory Pointers

In any decent sized application, one of the most common activities is string manipulation at one level or another. One of the most common problems with string manipulation is the reallocation of memory strings depending on the size of input. The old school of memory allocation comprising of malloc and free provided a method called realloc for the purpose. The new school of Object Oriented memory allocators is not so flexible. Now, reallocation of memory has to be provided for by the developer. Here is a sample code snippet to achieve this purpose:

 #define REALLOC_MEM(strIn, lCurrentSize, lNewSize){    char *strTemp = new char[lCurrentSize];//Creating _a temporary  //string with current size    strcpy(strTemp, strIn); //Copying data from current _string    delete [] strIn; //Deleting the current string    strIn = new char[lNewSize]; //Allocating new memory _with new size    strcpy(strIn, strTemp); //copying the temp string _into the current    delete [] strTemp; //Deleting the temp string}

This macro first assigns the current string to another temporary string and then allocates new memory to the first string and copies its contents back from the temporary string. This macro can be extended to reallocate memories for any other data types as well.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist