Avatar ·

C++ में constexpr और const के बीच क्या अंतर है?

नमस्ते! मैंने हाल ही में C++11 सीखना शुरू किया है और `constexpr` कीवर्ड पर ध्यान गया। मैं समझता हूँ कि `const` का मतलब है कि वेरिएबल का मान इनिशियलाइज़ेशन के बाद बदला नहीं जा सकता। लेकिन `constexpr` भी वेरिएबल को कॉन्स्टेंट बनाता है। तो फिर अंतर क्या है? उदाहरण के लिए, मैं लिख सकता हूँ: ```cpp const int x = 5; constexpr int y = 5; ``` दोनों तरीके काम करते हैं। लेकिन मैंने सुना है कि `constexpr` का उपयोग फंक्शन के साथ भी किया जा सकता है। मैंने कोशिश की: ```cpp constexpr int square(int n) { return n * n; } int main() { const int a = square(5); // काम करता है? constexpr int b = square(5); // यह भी काम करता है? int arr[ square(3) ]; // क्या ऐसा कर सकते हैं? } ``` यह कंपाइल हो जाता है, लेकिन मुझे असली फायदा समझ नहीं आता। कब `constexpr` का उपयोग `const` के बजाय करना चाहिए? और सिर्फ `const` क्यों पर्याप्त नहीं है? मुझे लगता है कि यह कार्यक्षमता का दोहराव है। कृपया उदाहरणों के साथ समझाएँ कि कब क्या उपयोग करना चाहिए। पहले से धन्यवाद! <<>>

मुख्य अंतर

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग