c++ - logic constant and physical constness -


संभव डुप्लिकेट:

सी ++ में, किसी ऑब्जेक्ट के बारे में, तार्किक कण और भौतिक संरचना में अंतर क्या है?

ये नहीं हैं मानक शब्दों, लेकिन मुझे लगता है कि "शारीरिक रूप से निरंतर" का मतलब एक निरंतर वस्तु होगा, और "तार्किक रूप से निरंतर" का मतलब एक निरंतर संदर्भ या संकेतक होगा।

पहले मामले में, वस्तु को निरंतर घोषित किया जाता है, ऑब्जेक्ट कॉस्ट ऑब्जेक्ट; , या 1 या "हैलो" के रूप में एक शाब्दिक स्थिरांक है, और इसे कभी भी संशोधित नहीं किया जाना चाहिए; यह ऐसा करने के लिए अपरिभाषित व्यवहार है

दूसरे मामले में, पॉइंटर या संदर्भ को निरंतर ऑब्जेक्ट, ऑब्जेक्ट कॉन्स्ट * पॉइंटर के संदर्भ में घोषित किया जाता है; या <कोड> ऑब्जेक्ट कॉन्स्ट्र & amp; संदर्भ; , लेकिन वस्तु स्वयं स्थिर नहीं है सूचक या संदर्भ वस्तु को संशोधित करने के लिए इस्तेमाल नहीं किया जा सकता (जब तक कि const_cast से अवनित नहीं किया गया हो), लेकिन वस्तु अन्य माध्यमों से बदल सकती है अगर यह "शारीरिक रूप से" स्थिर नहीं है।

Comments