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

C++ में नया और डिलीट ऑपरेटर

नया ऑपरेटर

नया ऑपरेटर ढेर में स्मृति आवंटन के लिए अनुरोध करता है। यदि पर्याप्त मेमोरी उपलब्ध है, तो यह मेमोरी को पॉइंटर वेरिएबल में इनिशियलाइज़ करता है और अपना पता देता है।

यहाँ C++ भाषा में new ऑपरेटर का सिंटैक्स दिया गया है,

pointer_variable = new datatype;

मेमोरी को इनिशियलाइज़ करने के लिए सिंटैक्स यहाँ दिया गया है,

pointer_variable = new datatype(value);

यहाँ स्मृति का एक ब्लॉक आवंटित करने के लिए वाक्य रचना है,

pointer_variable = new datatype[size];

यहाँ C++ भाषा में नए ऑपरेटर का उदाहरण दिया गया है,

उदाहरण

#include <iostream>
using namespace std;
int main () {
   int *ptr1 = NULL;
   ptr1 = new int;
   float *ptr2 = new float(223.324);
   int *ptr3 = new int[28];
   *ptr1 = 28;
   cout << "Value of pointer variable 1 : " << *ptr1 << endl;
   cout << "Value of pointer variable 2 : " << *ptr2 << endl;
   if (!ptr3)
   cout << "Allocation of memory failed\n";
   else {
      for (int i = 10; i < 15; i++)
      ptr3[i] = i+1;
      cout << "Value of store in block of memory: ";
      for (int i = 10; i < 15; i++)
      cout << ptr3[i] << " ";
   }
   return 0;
}

आउटपुट

Value of pointer variable 1 : 28
Value of pointer variable 2 : 223.324
Value of store in block of memory: 11 12 13 14 15

डिलीट ऑपरेटर

डिलीट ऑपरेटर का उपयोग मेमोरी को डीलोकेट करने के लिए किया जाता है। उपयोगकर्ता को इस डिलीट ऑपरेटर द्वारा बनाए गए पॉइंटर वेरिएबल को डीलोकेट करने का विशेषाधिकार है।

यहाँ C++ भाषा में डिलीट ऑपरेटर का सिंटैक्स दिया गया है,

delete pointer_variable;

आबंटित मेमोरी के ब्लॉक को हटाने के लिए सिंटैक्स यहां दिया गया है,

delete[ ] pointer_variable;

यहाँ C++ भाषा में डिलीट ऑपरेटर का उदाहरण दिया गया है,

उदाहरण

#include <iostream>
using namespace std;
int main () {
   int *ptr1 = NULL;
   ptr1 = new int;
   float *ptr2 = new float(299.121);
   int *ptr3 = new int[28];
   *ptr1 = 28;
   cout << "Value of pointer variable 1 : " << *ptr1 << endl;
   cout << "Value of pointer variable 2 : " << *ptr2 << endl;
   if (!ptr3)
   cout << "Allocation of memory failed\n";
   else {
      for (int i = 10; i < 15; i++)
      ptr3[i] = i+1;
      cout << "Value of store in block of memory: ";
      for (int i = 10; i < 15; i++)
      cout << ptr3[i] << " ";
   }
   delete ptr1;
   delete ptr2;
   delete[] ptr3;
   return 0;
}

आउटपुट

Value of pointer variable 1 : 28
Value of pointer variable 2 : 299.121
Value of store in block of memory: 11 12 13 14 15

  1. C++ में Lvalues ​​​​और Rvalues ​​क्या हैं?

    एक लवल्यू (लोकेटर वैल्यू) एक ऐसी वस्तु का प्रतिनिधित्व करता है जो स्मृति में कुछ पहचान योग्य स्थान पर कब्जा कर लेता है (यानी एक पता है)। प्रतिद्वंद्विता को बहिष्करण द्वारा परिभाषित किया जाता है। प्रत्येक अभिव्यक्ति या तो एक अंतराल या एक प्रतिद्वंद्विता है, इसलिए, एक प्रतिद्वंद्विता एक अभिव्यक्ति है

  1. इंक्रीमेंट ++ और डिक्रीमेंट - सी ++ में ऑपरेटर ओवरलोडिंग

    इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स एरिया यूनिट 2 आवश्यक यूनरी ऑपरेटर्स C++ में उपलब्ध हैं। निम्नलिखित उदाहरण समझाएं कि कैसे प्रीफिक्स के साथ-साथ पोस्टफिक्स उपयोग के लिए इंक्रीमेंट (++) ऑपरेटर को ओवरलोड किया जा सकता है। इसी तरह, आप ऑपरेटर (--) को ओवरलोड कर सकते हैं। उदाहरण #include <iost

  1. C++ में नए ऑपरेटर के साथ मेमोरी को इनिशियलाइज़ कैसे करें?

    C++ में नए ऑपरेटर को मेमोरी आवंटित करने के लिए परिभाषित किया गया है न कि इनिशियलाइज़ करने के लिए। यदि आप नए ऑपरेटर के साथ int प्रकार की एक सरणी आवंटित करना चाहते हैं, और आप उन सभी को डिफ़ॉल्ट मान (यानी ints के मामले में 0) में प्रारंभ करना चाहते हैं, तो आप निम्न सिंटैक्स का उपयोग कर सकते हैं - सिंटै