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 it helpful?
Add CommentView Comments
Ques 22. List out the areas in which data structures are applied extensively ?
Ques 23. Tell how to check whether a linked list is circular ?
Create two pointers, each set to the start of the list. Update each as follows:
while (pointer1)
{ pointer1 = pointer1->next; pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next; if (pointer1 == pointer2)
? ? ? ? ? ? { print (?circularn?); } }
Is it helpful?
Add CommentView Comments
Ques 24. What is the difference between ARRAY and STACK?
STACK follows LIFO. Thus the item that is first entered would be the last removed.
In array the items can be entered or removed in any order. Basically each member access is done using index. No strict order is to be followed here to remove a particular element.
Is it helpful?
Add CommentView Comments
Ques 25. What is the difference between NULL AND VOID pointer?
NULL can be value for pointer type variables. VOID is a type identifier which has not size. NULL and void are not same. Example: void* ptr = NULL;