2010-07-19 45 views
17

मुझे अधिकांश ऑपरेटरों के नाम पता हैं लेकिन यह सुनिश्चित नहीं है कि operator<< और operator>> कहा जाता है।"ऑपरेटर <<" क्या कहा जाता है?

अर्थात

operator=() // the assignment operator 
operator==() // the equality of comparison operator 
operator++() // the increment operator 
operator--() // decrement operator etc. 
operator<() // the less-than operator 

और बहुत आगे है ...

+0

यह ऑपरेटरों पर निर्भर करता है। – Gumbo

+25

मुझे उन्हें '<<' and '>>' कहना पसंद है, लेकिन कुछ लोगों के लिए उच्चारण थोड़ा मुश्किल है। –

+1

w.r.t iostream शीर्षलेख, << निष्कर्षण ऑपरेटर है। (>> सम्मिलन है)। बहुत शरारती। –

उत्तर

15

<< बाईं पारी

>> सही पारी

+3

आह। इसलिए ऑपरेटर का उपयोग << को स्ट्रीम कार्यान्वयन के लिए बेस्टर्ड किया गया है। यानी std :: cout << "हैलो मम" << std :: endl। – ScaryAardvark

+5

@ScaryAardvark: इसे –

+5

ओवरलोडिंग कहा जाता है भाषाविज्ञान में इसे [bastardisation] (http://en.wiktionary.org/wiki/bastardisation) कहा जाता है। – dreamlax

32

<< दोनों सम्मिलन ऑपरेटर और बाएं-शिफ्ट ऑपरेटर दोनों हैं।
>> निष्कर्षण ऑपरेटर और दाएं-शिफ्ट ऑपरेटर है।

iostreams के संदर्भ में, उन्हें स्ट्रीम सम्मिलन/निष्कर्षण माना जाता है। बिट-स्थानांतरण के संदर्भ में, वे बाएं-शिफ्ट और दाएं-शिफ्ट हैं।

+1

+1 आप एक महत्वपूर्ण भेद बनाते हैं। ऑपरेटर का नाम इस बात के आधार पर बदलता है कि इसका उपयोग कैसे किया जा रहा है (और सबसे महत्वपूर्ण बात यह है कि इसका किस प्रकार का डेटा उपयोग किया जा रहा है)। इस विशिष्टता के कारण, मैंने '<<' and '>>' नोटेशन को संदर्भित तरीके से प्रतीक का संदर्भ देने के सामान्य तरीके के रूप में "डबल-बाएं" और "डबल-दाएं" संकेतों के रूप में संदर्भित किया है (जैसा कि आप कैसे कर सकते हैं कॉल करें '+' "प्लस" या '/' "स्लैश" कोई फर्क नहीं पड़ता कि वे कैसे अधिभारित थे), लेकिन यह किसी भी तरह से आधिकारिक नहीं है। – bta

1

< < 'बाएं-शिफ्ट' ऑपरेटर है। यह अपने पहले ऑपरेंड को अपने दूसरे ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से छोड़ देता है।

15

सी ++ स्ट्रीम में,

  • << प्रविष्टि ऑपरेटर है।
  • >> निष्कर्षण ऑपरेटर है।

बाइनरी संचालन में,

  • सही पारी (>>)
  • वाम पारी (< <)
4

मूल नाम बाईं पारी ऑपरेटर (<<) थे और सही शिफ्ट ऑपरेटर (>>), लेकिन उनके मेनी के साथ एनजीएस प्रविष्टि और निष्कर्षण में धाराओं से विकृत होकर, आप तर्क दे सकते हैं कि बिटवाई ऑपरेशंस में भी << दाईं ओर बिट्स >>निष्कर्ष निष्कर्ष निकालता है। नतीजतन, मैं लगभग उन्हें हमेशा सम्मिलन और निष्कर्षण ऑपरेटर के रूप में संदर्भित करता हूं।

0

उन्हें गिलेमेट वाम और गिलेमेट राइट प्रतीकों कहा जाता है :)

+0

क्या आपके पास कोई संदर्भ है। या कटाक्ष सिर्फ मेरे सिर पर उड़ गया? –

+0

वे * गिलेमेट अंक की तरह दिखते हैं, लेकिन उन्हें कॉल करने से यह संकेत मिलेगा कि प्रत्येक '<<' को बंद करने की आवश्यकता है '>> '। मैंने कुछ शुरुआती प्रोग्रामर देखे हैं जो समानता देखते हैं और '« '' '' 'वर्णों का उपयोग करने की कोशिश करने की गलती करते हैं :) – bta

+0

बंद करने की आवश्यकता के बारे में अच्छा बिंदु >> - मेरे अपने अच्छे के लिए बहुत स्मार्ट! वे वास्तव में पर्ल में भी उपयोग किए जाते हैं: http://en.wikipedia.org/wiki/Guillemets –

संबंधित मुद्दे