अस्वीकरण : मैं उपसर्ग और उपसर्ग वृद्धि के शब्दार्थ को अच्छी तरह से जानता हूं। तो कृपया मुझे मत समझाओ कि वे कैसे काम करते हैं।
स्टैक ओवरफ्लो पर सवाल पढ़ना, मैं मदद नहीं कर सकता लेकिन ध्यान दें कि प्रोग्रामर पोस्टफिक्स इंक्रीमेंट ऑपरेटर द्वारा बार-बार भ्रमित हो जाते हैं। इससे निम्नलिखित प्रश्न उठता है: क्या कोई उपयोग मामला है जहां पोस्टफिक्स इन्क्रीमेंट कोड गुणवत्ता के संदर्भ में वास्तविक लाभ प्रदान करता है?
एक उदाहरण के साथ अपने प्रश्न को स्पष्ट करता हूं। यहाँ एक सुपर-ट्रिक कार्यान्वयन है strcpy
:
while (*dst++ = *src++);
लेकिन यह मेरी पुस्तक में बिल्कुल स्व-दस्तावेजीकरण कोड नहीं है (और यह सेंस कंपाइलर्स पर दो कष्टप्रद चेतावनी देता है)। तो निम्नलिखित विकल्प में क्या गलत है?
while (*dst = *src)
{
++src;
++dst;
}
हम तब स्थिति में भ्रामक असाइनमेंट से छुटकारा पा सकते हैं और पूरी तरह से चेतावनी-मुक्त कोड प्राप्त कर सकते हैं:
while (*src != '\0')
{
*dst = *src;
++src;
++dst;
}
*dst = '\0';
(हां, मुझे पता है, src
और dst
इन वैकल्पिक समाधानों में अलग-अलग समाप्ति मूल्य होंगे, लेकिन चूंकि strcpy
लूप के तुरंत बाद लौटता है, इसलिए इस मामले में कोई फर्क नहीं पड़ता।)
ऐसा लगता है कि पोस्टफिक्स इन्क्रीमेंट का उद्देश्य कोड को जितना संभव हो सके बनाना है। मैं बस यह देखने में विफल रहता हूं कि यह ऐसी चीज है जिसके लिए हमें प्रयास करना चाहिए। यदि यह मूल रूप से प्रदर्शन के बारे में था, तो क्या यह आज भी प्रासंगिक है?
int c = 0; c++;
strcpy
इस तरह से विधि का कोड करेंगे (उन कारणों के लिए जो आपने पहले ही उल्लेख किया है)।