Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में ऑपरेटर ओवरलोडिंग के बुनियादी नियम और मुहावरे


जब C++ में ऑपरेटर ओवरलोडिंग की बात आती है, तो 3 बुनियादी नियम हैं जिनका आपको पालन करना चाहिए। सभी ऐसे नियमों की तरह, अपवाद भी हैं। ये 3 नियम हैं:

  • 1. जब भी किसी ऑपरेटर का अर्थ स्पष्ट रूप से स्पष्ट और निर्विवाद नहीं होता, तो इसे ओवरलोड नहीं किया जाना चाहिए। इसके बजाय, एक अच्छे चुने हुए नाम के साथ एक फ़ंक्शन प्रदान करें। मूल रूप से, ऑपरेटर ओवरलोडिंग के लिए पहला और सबसे महत्वपूर्ण नियम, इसके दिल में, कहता है: इसे न करें। यह अजीब लग सकता है, लेकिन केवल कुछ ही मामले हैं जहां ऑपरेटर ओवरलोडिंग उपयुक्त है। कारण यह है कि एक ऑपरेटर के अनुप्रयोग के पीछे की सिमेंटिक्स को समझना मुश्किल है जब तक कि एप्लिकेशन डोमेन में ऑपरेटर का उपयोग अच्छी तरह से ज्ञात और निर्विवाद न हो।
  • 2. हमेशा ऑपरेटर की प्रसिद्ध सिमेंटिक्स के साथ रहें। C++ ओवरलोडेड ऑपरेटर्स की सिमेंटिक्स पर कोई सीमा नहीं लगाता। आपका कंपाइलर खुशी से उस कोड को स्वीकार करेगा जो बाइनरी + ऑपरेटर को अपने दाएं ऑपरेंड से घटाने के लिए कार्यान्वित करता है। हालांकि, ऐसे ऑपरेटर के उपयोगकर्ता कभी भी a + b एक्सप्रेशन के a से b घटाने पर संदेह नहीं करेंगे।
  • 3. संबंधित ऑपरेशन्स के सेट में से हमेशा सभी प्रदान करें। ऑपरेटर्स एक-दूसरे से और अन्य ऑपरेशन्स से संबंधित हैं। यदि आपका प्रकार a + b का समर्थन करता है, तो उपयोगकर्ता a += b को कॉल करने की भी उम्मीद करेंगे। यदि यह प्रीफिक्स इन्क्रीमेंट ++a का समर्थन करता है, तो वे a++ के भी काम करने की उम्मीद करेंगे। यदि वे जांच सकते हैं कि a < b, तो वे निश्चित रूप से यह भी जांचने की उम्मीद करेंगे कि a > b। यदि वे आपके प्रकार को कॉपी-कंस्ट्रक्ट कर सकते हैं, तो वे असाइनमेंट के भी काम करने की उम्मीद करेंगे।
  • अधिकांश मामलों में आपको ऑपरेटर ओवरलोडिंग की आवश्यकता नहीं होती और केवल तभी ऑपरेटर्स को ओवरलोड करना चाहिए जब वे अच्छी तरह से परिभाषित हों और स्थिति के लिए उपयुक्त हों। यह पोस्ट https://stackoverflow.com/a/4421708/3719089 से प्रेरित है।
  1. - लिनक्स पर C++ के लिए शीर्ष IDE

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। यहां लिनक्स के लिए सर्वश्रेष्ठ C/C++ IDEs की सूची दी गई है। NetBeans

  1. - विंडोज पर C++ के लिए शीर्ष IDE

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। यहां विंडोज के लिए सर्वश्रेष्ठ C/C++ IDEs की सूची दी गई है। Visual S

  1. - पायथन वेरिएबल्स के लिए बुनियादी स्कोपिंग नियम क्या हैं?

    मार्क लुट्ज़ की पुस्तक लर्निंग पायथन में, वे पायथन स्कोपिंग कैसे काम करती है यह याद रखने के लिए निम्न स्मरक सुझाते हैं: LEGB सबसे संकीर्ण स्कोप से सबसे व्यापक स्कोप तक: L का अर्थ है लोकल। यह फंक्शन्स के लोकल स्कोप में परिभाषित वेरिएबल्स को संदर्भित करता है। E का अर्थ है एनक्लोज़िंग। यह अन्य फंक्शन्