devxlogo

Object-construction at a Predetermined Location Using New

Object-construction at a Predetermined Location Using New

When you construct an object using new, you have no control over where it gets created in the heap. What if you want the object to be placed at a specific address? You can do this by using placement syntax in C++. The following example explains how.

 	class sample{private:		int i;public:	sample( int ii)				{		i=ii;				}		~sample()	{	}	void *operator new(size_t sz, void *q)	{		return(sample*) q;	}};void main(){	void *address;	address = (void*) 0xF00F;	sample *p= new (address) sample(10);p->~sample();}

devx-admin

Share the Post: