Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में प्लेसमेंट new का क्या उपयोग है?


संक्षेप में, प्लेसमेंट new आपको किसी दिए गए वेरिएबल को पहले से अलोकेटेड मेमोरी पर "कंस्ट्रक्ट" करने की अनुमति देता है। यह ऑप्टिमाइजेशन के लिए उपयोगी है क्योंकि पहले से असाइन की गई उसी मेमोरी को पुनः उपयोग करना और पुनः अलोकेट न करना तेज़ होता है। इसका उपयोग इस प्रकार किया जा सकता है:

new (address) (type) initializer

हम एक एड्रेस निर्दिष्ट कर सकते हैं जहां हम दिए गए टाइप के नए ऑब्जेक्ट को कंस्ट्रक्ट करना चाहते हैं।

उदाहरण

#include<iostream> using namespace std; int main() {    int a = 5;    cout << "a = " << a << endl;    cout << "&a = " << &a << endl;    // प्लेसमेंट new X के मान को 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

प्लेसमेंट new का उपयोग करने के बाद:

a = 10 m = 0x60ff18 &a = 0x60ff18

  1. - विंडोज पर C++ के लिए शीर्ष IDE

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। यहां विंडोज के लिए सर्वश्रेष्ठ C/C++ IDEs की सूची दी गई है। Visual S

  1. - C++ में const कीवर्ड क्या है?

    हम किसी वेरिएबल को स्थिर घोषित करने के लिए const क्वालिफायर का उपयोग करते हैं। इसका मतलब है कि एक बार वेरिएबल इनिशियलाइज़ हो जाने के बाद हम उसका मान नहीं बदल सकते। const का उपयोग करने का एक बहुत बड़ा लाभ है। उदाहरण के लिए, यदि आपके पास PI के मान जैसा एक स्थिर मान है, तो आप नहीं चाहेंगे कि प्रोग्राम

  1. - C# में 'new' कीवर्ड का उपयोग क्या है

    ऐरे का इंस्टेंस बनाने के लिए new कीवर्ड का उपयोग करें - int[] a = new int[5]; new ऑपरेटर का उपयोग ऑब्जेक्ट बनाने या इंस्टेंटिएट करने के लिए किया जाता है। यहाँ उदाहरण में, new का उपयोग करके क्लास के लिए ऑब्जेक्ट बनाया गया है - उदाहरण using System; namespace CalculatorApplication { class NumberMan