Possible Duplicate:
C++'s “placement new”
in the below code what does Line 3 represents, is it the way of typecasting? or what
void someCode()
{
char memory[sizeof(Fred)]; // Line #1
void* place = memory; // Line #2
Fred* f = new(place) Fred(); // Line #3
// The pointers f and place will be equal
...
}
This is a typical usage of Placement new.
It allows you to allocate memory and then construct objects at that particular memory location.
Line #3 essentially just calls the constructor
Fred::Fred(). Thethispointer in theFredconstructor will be equal toplace. The returned pointerfwill therefore be equal toplace.