2009-10-15 13 views

Respuesta

12

En ese caso va a devolver una referencia a un objeto ostream. Estrictamente pensar en ampersand como "dirección de" no siempre funcionará para usted. Here tiene alguna información de C++ Preguntas frecuentes Lite sobre referencias.

En lo que respecta a la compatibilidad, la exactitud de const es muy importante en la seguridad de tipo C++ y algo que querrás hacer todo lo que puedas. Otro page de las preguntas frecuentes ayuda en ese sentido. Const lo ayuda con los cambios relacionados con los efectos colaterales que ensucian sus datos en situaciones en las que no lo espera.

3

Significa que la variable es una referencia. Es como un puntero, pero no realmente.

Ver: Reference (C++)

3

en C++ declaraciones de tipo, el signo significa "referencia". En este caso, operator << devuelve una referencia a un objeto ostream.

Ya que en realidad vuelve *this en realidad es el mismo ostream objeto, y significa que puede llamadas cadena a operator <<, similar a este:

os << "Hello" << " " << "World" << endl; 
+1

El 'operador <<' la mayoría de los programadores se encuentran con la implementación de funciones gratuitas, no funciones de miembros, por lo que no hay 'esto 'involucrado. – sbi

6

Dependiendo del contexto del símbolo, puede significar 2 cosas diferentes. La respuesta a su pregunta específica es que es una referencia, no "la dirección de". Son cosas muy diferentes. Es muy importante entender la diferencia.

C++ Reference

La razón para hacer parámetros const es para asegurarse de que no se cambian por la función. Esto garantiza a quien llama de la función que los parámetros que pasan no serán cambiados.

+0

Cuando usa un signo & en una variable 'normal', está tomando la dirección de la variable en la memoria, eso es lo que Omar quiso decir. Sin embargo, con referencias, el & tiene un significado diferente. – Jesper

+0

Jesper, estás en lo correcto. Actualicé mi respuesta para hacer la distinción. – nathan

Cuestiones relacionadas