मैं अक्सर, वस्तुओं const के लिए इतना की तरह ...क्या उपयोग स्थिरांक संकेत (के रूप में संकेत करने के लिए विरोध वस्तुओं const करने के लिए) कर रहे हैं?
const int *p;
बस इसका मतलब है कि आप पूर्णांक कि p
p
के माध्यम से की ओर इंगित करता है बदल नहीं सकते संकेत का उपयोग किया है। लेकिन मैं यह भी स्थिरांक संकेत के संदर्भ में देखा है, इस तरह की घोषणा की ...
int* const p;
मैं इसे समझते हैं, इसका मतलब है कि सूचक चर ही स्थिर है के रूप में - आप पूर्णांक इसे कहते हैं बदल सकते हैं पूरे दिन, लेकिन आप इसे किसी और चीज पर नहीं बना सकते हैं।
कि क्या संभावित उपयोग के लिए होता है?
माइनर नाइटपिक: मेमोरी मैप किए गए डिवाइसों के लिए आप निश्चित रूप से ('शायद' नहीं) आइटम को अस्थिर के रूप में चिह्नित करने की आवश्यकता है - अन्यथा आप यह सुनिश्चित नहीं कर पाएंगे कि संकलक वास्तव में पढ़ने या लिखने के ऑपरेशन को छोड़ देगा या नहीं। –
आपको 'अस्थिर' की आवश्यकता हो सकती है अस्थिर सही है। आप डिवाइस के आधार पर 'बाधा()' और अन्य अर्थशास्त्र का उपयोग कर सकते हैं। यह सच है कि आपको मूल्यों को ध्यान से संभालने की आवश्यकता है। आईई, कैश/नो-कैश, अवरोध, आदि। यह डिवाइस के प्रकार पर निर्भर करता है और ** अस्थिर ** हमेशा सबसे अच्छा विकल्प नहीं है। –
@ माइकलबुर: मैं आपसे सहमत हूं कि 'अस्थिर' निश्चित रूप से वहां होना चाहिए; दूसरी तरफ, कई कंपाइलर विक्रेताओं के हेडर परेशान नहीं लगते हैं - एक तथ्य जो कुछ हद तक परेशान हो सकता है (भले ही कंपलर आमतौर पर सही काम करते हैं, फिर भी वे एक रजिस्टर पढ़ने के प्रयासों को अनदेखा कर सकते हैं लेकिन कुछ भी नहीं कर सकते परिणाम)। – supercat