সংক্ষেপে, নতুন প্লেসমেন্ট আপনাকে মেমরিতে একটি বস্তুকে "নির্মাণ" করতে দেয় যা ইতিমধ্যেই একটি প্রদত্ত ভেরিয়েবলের জন্য বরাদ্দ করা আছে। এটি অপ্টিমাইজেশানের জন্য উপযোগী কারণ এটি ইতিমধ্যেই বরাদ্দ করা একই মেমরি পুনরায় বরাদ্দ না করা এবং পুনরায় ব্যবহার না করা দ্রুত। এটি নিম্নরূপ ব্যবহার করা যেতে পারে -
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