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

C++ में mutable कीवर्ड क्या है?


यहां हम देखेंगे कि C++ में mutable कीवर्ड क्या है। mutable C++ में स्टोरेज क्लास में से एक है। Mutable डेटा सदस्य उस तरह के सदस्य हैं, जिन्हें हमेशा बदला जा सकता है। भले ही ऑब्जेक्ट const टाइप का हो। जब हमें केवल एक सदस्य को वेरिएबल और अन्य को कॉन्स्टेंट चाहिए, तो हम उन्हें mutable बना सकते हैं। आइए एक उदाहरण देखें।

उदाहरण

#include <iostream> using namespace std; class MyClass{    int x;    mutable int y;    public:    MyClass(int x=0, int y=0){       this->x = x;       this->y = y;    }    void setx(int x=0){       this->x = x;    }    void sety(int y=0) const { //member function is constant, but data will be changed       this->y = y;    }    void display() const{       cout<<endl<<"(x: "<<x<<" y: "<<y << ")"<<endl;    } }; int main(){    const MyClass s(15,25); // A const object    cout<<endl <<"Before Change: ";    s.display();    s.setx(150);    s.sety(250);    cout<<endl<<"After Change: ";    s.display(); }

आउटपुट

[Error] passing 'const MyClass' as 'this' argument of 'void MyClass::setx(int)' discards qualifiers [-fpermissive]

यदि हम लाइन [ s.setx(150); ] को हटाकर प्रोग्राम चलाते हैं, तो -

आउटपुट

Before Change: (x: 15 y: 25) After Change: (x: 15 y: 250)

  1. - C++ में म्यूटेबल स्टोरेज क्लास

    म्यूटेबल स्टोरेज क्लास स्पेसिफायर का उपयोग केवल क्लास डेटा मेंबर पर किया जाता है ताकि इसे संशोधित किया जा सके भले ही मेंबर किसी ऑब्जेक्ट का हिस्सा हो जिसे const घोषित किया गया हो। आप म्यूटेबल स्पेसिफायर का उपयोग static या const के रूप में घोषित नामों, या रेफरेंस मेंबर्स के साथ नहीं कर सकते। निम्नलि

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

    Auto एक कीवर्ड था जिसे C++ ने C से विरासत में प्राप्त किया था जो लगभग हमेशा से था, लेकिन शायद ही कभी उपयोग किया जाता था। यह सब C++11 में संदर्भ से टाइप डिडक्शन करने के लिए auto की शुरुआत के साथ बदल गया। C++ 11 से पहले, प्रत्येक डेटा टाइप को कंपाइल टाइम पर स्पष्ट रूप से घोषित करने की आवश्यकता होती थी

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

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