2010-07-19 24 views
17

Conozco los nombres de la mayoría de los operadores pero no estoy seguro de cómo se llaman operator<< y operator>>.¿Cómo se llama el "operador <<"?

decir

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

y así sucesivamente ...

+0

Depende de los operandos. – Gumbo

+25

Me gusta llamarlos '<<' and '>>', pero la pronunciación es un poco difícil para algunas personas. –

+1

w.r.t el encabezado iostream, << es el operador de extracción. (>> es inserción). Muy travieso. –

Respuesta

15

<< desviación a la izquierda

>> desplazamiento a la derecha

+3

Ah. Entonces, el uso del operador << ha sido bastardeado para la implementación de la transmisión. es decir, std :: cout << "Hello Mum" << std :: endl. – ScaryAardvark

+5

@ScaryAardvark: Se llama sobrecarga –

+5

En lingüística se llama [bastardización] (http://en.wiktionary.org/wiki/bastardisation). – dreamlax

7
<< = Bitwise left shift 
>> = Bitwise right shift 
32

<< es el operador de inserción y el operador de desplazamiento a la izquierda.
>> es el operador de extracción y el operador de desplazamiento a la derecha.

En el contexto de iostreams, se consideran inserción/extracción de secuencias. En el contexto del cambio de bit, están a la izquierda y a la derecha.

+1

+1 Usted hace una distinción importante. El nombre del operador cambia en función de cómo se usa (y más importante, en qué tipo de datos se está utilizando). Debido a esta peculiaridad, he escuchado la notación '<<' and '>>' a la que se hace referencia como signos de "doble izquierda" y "doble-derecha" como una forma genérica de hacer referencia al símbolo de una manera libre de contexto (similar a cómo se podía llame a '+' "más" o '/' "barra diagonal" sin importar cómo se sobrecargaron ", pero esto no es de ninguna manera oficial. – bta

1

< < es el operador de "desplazamiento a la izquierda". Cambia su primer operando a la izquierda por el número de bits especificado por su segundo operando.

15

en C++ Streams,

  • << es operador de inserción.
  • >> es un operador de extracción.

En operaciones binarias,

  • Desplazamiento a la derecha (>>)
  • desviación a la izquierda (< <)
4

Los nombres originales eran izquierda turno operador (<<) y operador de cambio a la derecha (>>), pero con su meani NGS pervertido por las corrientes en la inserción y extracción, se podría argumentar que incluso en operaciones bit a bit <<insertos bits a la derecha, mientras que >>extractos ellos. En consecuencia, casi siempre me refiero a ellos como el inserción y operadores de extracción.

0

Se llaman Guillemet Left y Guillemet Right symbols :)

+0

Tiene una referencia. ¿O el sarcasmo simplemente pasó volando sobre mi cabeza? –

+0

* Parecen * marcas de Guillemet, pero llamarlas implicaría que cada '<<' necesita un cierre '>>'. He visto algunos programadores principiantes que notan la similitud y cometen el error de tratar de usar los caracteres '' 'y' »' directamente :) – bta

+0

Un buen punto acerca de requerir el cierre >> - ¡demasiado inteligente para mi propio bien! En realidad también se usan en Perl: http://en.wikipedia.org/wiki/Guillemets –

Cuestiones relacionadas