संक्षेप में, प्लेसमेंट नया आपको किसी ऑब्जेक्ट को मेमोरी पर "निर्माण" करने की अनुमति देता है जो पहले से ही किसी दिए गए वेरिएबल को आवंटित किया गया है। यह अनुकूलन के लिए उपयोगी है क्योंकि यह उसी मेमोरी को पुन:आवंटित और पुन:उपयोग करने के लिए तेज़ है जो इसे पहले से ही असाइन किया गया है। इसका उपयोग इस प्रकार किया जा सकता है -
new (address) (type) initializer
हम एक पता निर्दिष्ट कर सकते हैं जहां हम दिए गए प्रकार की एक नई वस्तु का निर्माण करना चाहते हैं।
उदाहरण
#include<iostream> using namespace std; int main() { int a = 5; cout << "a = " << a << endl; cout << "&a = " << &a << endl; // Placement new changes the value of X to 100 int *m = new (&a) int(10); cout << "\nAfter using placement new:" << endl; cout << "a = " << a << endl; cout << "m = " << m << endl; cout << "&a = " << &a << endl; return 0; }
आउटपुट
यह आउटपुट देगा -
a = 5 &a = 0x60ff18
नए प्लेसमेंट का उपयोग करने के बाद -
a = 10 m = 0x60ff18 &a = 0x60ff18