c++ - Strange behavior of const_cast -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 5 जवाब

    निम्न कोड पर विचार करें: < / P>

    मैं एक नया संदर्भ अंत घोषित करता हूं उसे const_cast के माध्यम से मूल्य के लिए निर्दिष्ट करें। फिर मैं सिर्फ संदर्भ मान को पतों और मूल्यों को प्रिंट करने में वृद्धि करता हूं।

      #include & lt; iostream & gt; नेमस्पेस एसटीडी का उपयोग करना; Int main () {const int = 7; इंट और बी = कॉन्स्ट-क्वैस्ट & लेफ्टिनेंट; इंटी & amp; & gt; (ए); ++ ख; Cout & lt; & lt; "पते" & lt; & amp; एक & lt; & lt; "" & lt; & lt; और amp; बी & lt; & lt; endl; Cout & lt; & lt; "मान" & lt; & lt; a & lt; "" & lt; & lt; b & lt; & lt; एंडल; } // आउटपुट पते 0x7fff11f8e30c 0x7fff11f8e30c मान 7 8   

    मैं एक ही पते में 2 भिन्न मान कैसे प्राप्त कर सकता हूं ??

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

    इस व्यवहार को छोड़ने का एक कारण अनिर्धारित है इसके मूल्य के साथ निरंतर चर की जगह के अनुकूलन (जब से आपने कहा है कि मूल्य कभी नहीं बदल सकता है)। यहां ये क्या हो रहा है: समय को संकलित करने पर a को मान 7 से बदल दिया जाता है, और इसलिए वह मूल्य रखेगा जो आप इसे रन टाइम पर करते हैं।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -