Answer Posted / ritesh pal
When you want to call a constructor directly, you use the placement new. Sometimes you have some raw memory that's already been allocated, and you need to construct an object in the memory you have. Operator new's special version placement new allows you to do it.
class Widget
{
public :
Widget(int widgetsize);
...
Widget* Construct_widget_int_buffer(void *buffer,int widgetsize)
{
return new(buffer) Widget(widgetsize);
}
};
This function returns a pointer to a Widget object that's constructed within the buffer passed to the function. Such a function might be useful for applications using shared memory or memory-mapped I/O, because objects in such applications must be placed at specific addresses or in memory allocated by special routines.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What is the purpose of a constructor? Destructor?
Do you know what is overriding?
What are the four partitions in which c++ compiler divides the ram?
How important is c++?
What is different in C++, compare with unix?
What is extern c++?
Define pure virtual function?
What is a constant? Explain with an example.
What is abstraction in oops?
What is atoi?
What is a flag in c++?
Is python written in c or c++?
Difference between an inspector and a mutator
What is the correct syntax for inheritance a) class aclass : public superclass b) class aclass inherit superclass c) class aclass <-superclass
What is c++ manipulator?