कई आधुनिक भाषाओं में const
इंटरफेस और इरादे को स्पष्ट करने के साथ-साथ संकलक को अनुकूलित करने के कुछ अवसर प्रदान करने के लिए शुद्धता का उपयोग किया जाना चाहिए। डी में वास्तव में अपरिवर्तनीय डेटा की शानदार सुविधा है। const
और immutable
का उपयोग कैसे किया जाना चाहिए? मुझे लगता है कि const
को स्थानीय तर्कों के लिए क्वालीफायर के रूप मेंपसंद करते हैं और स्थानीय चर के लिए immutable
कोड लिखने का एक अच्छा तरीका प्रतीत होता है, लेकिन जैसे ही आप किसी संदर्भ या पॉइंटर जैसे डेटा सदस्य (निजी या नहीं) के साथ एक स्ट्रक्चर असाइन करना चाहते हैं। एक अपरिवर्तनीय चर के लिए आप ऐसा नहीं कर सकते हैं। अगर मैं अपरिवर्तनीय का उपयोगडी में 'कॉन्स्ट' और 'अपरिवर्तनीय' का उपयोग कब और कैसे किया जाना चाहिए?
struct S {
private int[] data;
}
void main() {
immutable s = new S; // won't work, since members aren't immutable
}
इसलिए, एक struct
के कार्यान्वयन को बदलने मेरी कोड तोड़ सकते हैं,। क्या मुझे स्थानीय चर के लिए const
पसंद करना चाहिए और केवल आवश्यक होने पर अपरिवर्तनीय उपयोग करना चाहिए? दिशानिर्देश क्या हैं?