Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Feb 13, 2002

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.
C.V. Ram
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date