मेरे पास एक प्रश्न है जो किसी भी तरह से है, मुझे लगता है, पूरी तरह से तुच्छ: वह क्या है (और क्यों)?अस्पष्ट सूचक घोषणा
const float *(*const*)(int)
मेरे समझ है कि यह एक "तर्क के रूप में एक पूर्णांक ले रहे हैं और लगातार नाव के लिए सूचक वाला फ़ंक्शन करने के लिए एक निरंतर सूचक को सूचक" है।
क्या यह सही है?
(*const*)
"मानसिक रूप से पार्स" कैसे करें? खासकर जब कोई नाम नहीं है, तो पहले मुझे नहीं पता था कि कहां से शुरू करना है। मुझे लगता है कि "नाम" के लिए एकमात्र संभावना इसे इस तरह रखना होगा: *const *name
क्योंकि अन्य संयोजन अमान्य हैं (यदि मैं सही हूं), तो "नाम निरंतर सूचक के लिए एक सूचक है ..."।
क्या यह तर्क मान्य है?
धन्यवाद!
मैं टाइपिफ़ का उपयोग करके घटकों में इसे तोड़कर इस तरह दिमागी झुकाव परिभाषाओं से बचने की कोशिश करता हूं। –
c giggerish से EN: "http://cdecl.ridiculousfish.com/?q=const+float+*%28*const*+foo%29%28int%29" – Anycorn
किसी को भी उपरोक्त कोड को एक कंपाइलर में प्लग करने में कठिनाई हो रही है इसे फ़ंक्शन प्रोटोटाइप 'int foo (const float * (* const *) (int)) में पैरामीटर के रूप में डालने का प्रयास करें;' जो 'int foo (const float * (* const * var_name) (int) के समान है) ; ' – nategoose