const int one = 1;
const int two = 2;
इस के साथ
की जगह चाहेंगे?
constexpr int one = 1;
constexpr int two = 2;
क्या मेरी समझ सही है कि दोनों ब्लॉक अर्थात् समान हैं और यह वर्तमान में केवल स्वाद का विषय है?
दूसरी तरफ, constexpr
const
का तात्पर्य है, आप तर्क दे सकते हैं कि यह हमेशा अधिक प्रतिबंधक रूप को पसंद करने के लिए अधिक संगत है, यहां तक कि छोटी स्थितियों में भी जहां यह कोई फर्क नहीं पड़ता?
(मैं समझता हूं कि स्थिति को पूरी तरह से बदलता है जब दायीं ओर की अभिव्यक्ति को और अधिक जटिल होने की अनुमति दी जाती है। इसलिए स्पष्टीकरण के लिए, प्रश्न केवल सबसे सरल मामले पर केंद्रित होता है जहां अभिव्यक्ति एक निश्चित पूर्णांक संख्या होती है।)
एकमात्र चीज जो मैं सोच सकता हूं वह यह है कि यदि आप किसी एपीआई की तरह कुछ निर्दिष्ट कर रहे हैं, तो आप निरंतर अभिव्यक्ति को स्टोर करने के लिए 'const int 'का उपयोग करने का निर्णय ले सकते हैं क्योंकि उस संपत्ति में भविष्य के संशोधन में नहीं हो सकता है। – Pubby