यह देखते हुए कि उपसर्ग यूनरी ऑपरेटरों को "एक गैर-स्थिर सदस्य फ़ंक्शन द्वारा लागू किया जा सकता है, जिसमें कोई पैरामीटर नहीं है या एक पैरामीटर" (§13.5.1 [over.unary]/1) के साथ गैर-सदस्य फ़ंक्शन है, क्या वहां कोई है किसी भी सदस्य/गैर-सदस्य फ़ंक्शन विकल्पों पर लागू सामान्य encapsulation/कोड पुन: उपयोग डिजाइन तर्कसंगत के अलावा अंतर?यूनरी शून्य अधिभार: सदस्य या गैर-सदस्य?
बाइनरी ऑपरेटरों के लिए, there's a semantic difference क्योंकि गैर-सदस्य अपने बाएं हाथ के संचालन के निहित रूपांतरण की अनुमति देते हैं। यूनरी ऑपरेटरों के लिए ऐसा कुछ प्रतीत नहीं होता है, फिर भी मानक std::complex
के गैर-सदस्य (§26.4.6 [complex.ops]) के रूप में अनियमित अस्वीकरण ऑपरेटर को परिभाषित करता है, जबकि std::valarray
और std::duration
है यूनरी अस्वीकरण ऑपरेटर सदस्य हैं (§26.6.2.6 [valarray.unary], §20.11.5.3 [time.duration.arithmetic])। क्या कोई बारीक है?
मानक के विशिष्ट वर्गों का हवाला देते समय, आप यह उल्लेख करना चाहेंगे कि आप किस संस्करण का जिक्र कर रहे हैं। –
@ एंड्रे कैरॉन सी ++ 11 के एन 32 9 0 संस्करण से उद्धृत, यही कारण है कि मैं 'अवधि 'लाने में सक्षम था। – Cubbi