Nada, era solo para saber si hay diferencia entre estos 2 parámetros pasados por referencia:
int MiFuncion( const cMiTipo &dato )
int MiFuncion( cMiTipo const &dato )
Es k lo he visto ya varias veces y estoy intrigado. En las ayudas oficiales no he visto el caso XD
Salud2
Hola!
Estas seguro de que eso que dices se puede hacer? Yo lo he visto asi:
int MiFuncion( const cMiTipo *dato )
int MiFuncion( cMiTipo const *dato )
Y tiene sus diferencias.
La primera funcion recibe un puntero a un dato cMiTipo, donde el contenido del puntero es constante ( se puede cambiar hacia donde apunta el puntero, pero no el contenido de lo que apunta ).
La segunda funcion recibe un parametro a un dato cMiTipo, donde el puntero en si es constante, y no su contenido. Es decir, puedes hacer *dato = ( lo que sea ), pero no puedes hacer ++dato, por ejemplo.
Y tambien podrias hacer:
int MiFuncion( const cMiTipo const *dato )
Donde todo vive en constancia y harmonia =P
Por eso al principio del post te preguntaba si estabas seguro que lo has visto con referencia, porque me extraña mucho hacer:
int MiFuncion( cMiTipo const &dato )
Porque no puedes mover una referencia, me explico?
Espero que te haya aclarado algo.
Un saludote!!
Hola, hola....
Creo que MChiz se acerca mucho....
Esta web puede ser interesante:
http://www.geocities.com/spur4444/prog/con...d_pointers.htmlSobre todo el "listing 3".
De hecho, el escribir
int MiFuncion( const cMiTipo *dato )
es llamado "estilo C++" y el poner
int MiFuncion( cMiTipo const *dato )
es llamado "estilo C". Pero claro, sólo son estilos. La semántica es la misma. Lo que no es lo mismo es poner
int MiFuncion( cMiTipo *const dato )
a no ser que no sea un puntero, sino una referencia... pero eso es otro rollo. Ya no quiero liar mas.
Feliz programación.