मैं एक सदस्य चर का उपयोग कर रहा हूं और प्रोग्राम के किसी बिंदु पर मैं इसे बदलना चाहता हूं, लेकिन मैं अनजान परिवर्तनों को रोकने के लिए हर जगह "इसे लॉक" करना पसंद करता हूं।सी ++ में बदलावों को रोकने के लिए एक चर को लॉक किया जा सकता है?
कोड की व्याख्या:
class myClass {
int x; // This should be prevented to being changed most of the time
int y; // Regular variable
myclass() {x = 1;}
void foo1() {x++; y++;} // This can change x
void foo2() {x--; y--;} // This shouldn't be able to change x
// I want it to throw a compile error
};
सवाल है: यह किसी तरह से प्राप्त किया जा सकता है? स्थायी const_cast की तरह कुछ?
मुझे लगता है मैं अभी निर्माता प्रारंभ सूची और निरंतर इस्तेमाल कर सकते हैं पता है, लेकिन मैं बाद में मेरे चर बदलने की जरूरत है।
इसे निजी बनाने, और केवल इसे बदलने आप करना चाहते हैं? – Chad
आप कार्यान्वयन को x को बदलने से रोकना चाहते हैं, या आप किसी को विधि को कॉल करने से रोकना चाहते हैं? – Joe
@ जो: मैं संकलन में इसे एक त्रुटि फेंकना चाहता हूं। – Petr