यह एक नौसिखिया सी ++ प्रश्न है। निम्नलिखित दो संरचनाओं के बीच क्या अंतर है?मैं सी ++ पॉइंटर निर्माण कैसे पढ़ूं?
1. const int* const* const x
2. const int**
मैं इन संरचनाओं को कैसे पढ़ूं?
यह एक नौसिखिया सी ++ प्रश्न है। निम्नलिखित दो संरचनाओं के बीच क्या अंतर है?मैं सी ++ पॉइंटर निर्माण कैसे पढ़ूं?
1. const int* const* const x
2. const int**
मैं इन संरचनाओं को कैसे पढ़ूं?
यदि आप चीजों को सही तरीके से समूहित करते हैं तो यह थोड़ा आसान हो जाता है। उदाहरण के लिए, *const
वास्तव में एक इकाई है जिसका अर्थ है "कॉन्स्ट पॉइंटर टू" (आप const
को यहां एक सबस्क्रिप्ट के रूप में पढ़ सकते हैं: *const
)। मैं के रूप में लिखते हैं:
const int *const *const p1; // p1 is a const pointer to const pointer to const int
const int **p2; // p2 is a pointer to pointer to const int
भी याद रखें कि घोषणाओं पढ़ें "अंदर बाहर", पहचानकर्ता पर शुरू घोषित किया गया। http://cdecl.ridiculousfish.com/
आपके मामले में यह रिपोर्ट::
मैं इन संरचनाओं को कैसे पढ़ूं?
उन्हें पीछे पढ़ें और *
को "पॉइंटर टू" के रूप में पढ़ें।
const int* const* const
एक पूर्णांक स्थिरांक के लिए निरंतर सूचक के लिए एक स्थिर सूचक है।
const int**
एक पूर्णांक स्थिरांक के लिए सूचक के लिए एक सूचक है।
एक उपकरण है कि उपयोगी/मज़ा घोषणाओं को समझने के लिए नहीं है const int* const* const x
=> घोषित स्थिरांक सूचक const के रूप में एक्स सूचक const को पूर्णांक const int** x
=> घोषित सूचक के रूप में एक्स सूचकांक के लिए सूचकांक