[C con Clase] Pasar por referencia "constante" el puntero a un fichero

David Fire ddfire en gmail.com
Mar Ene 19 17:06:19 CET 2010


*ALTERNATIVA 1 (lo que me parece más lógico):*

*mi_funcion(const FILE *fichero , [...]) {*
*    [...]*
*}*


El 19 de enero de 2010 11:56, Vicent <vginer en gmail.com> escribió:

> Hola a tod en s.
>
> Sigo con el tema que ya planteé anteriormente de pasar argumentos por
> referencia.
>
> He encontrado interesante la guía de estilo para C++ de Google, en la que
> justamente se habla de pasar por referencia usando "&" y poniendo "const"
> siempre que no queramos modificar el valor del parámetro (
> http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Reference_Arguments#Reference_Arguments
> ).
>
> Por ejemplo:
>
> *mi_funcion(const int k , [...]) {*
> *    [...]*
> *}*
>
> Mi duda viene en el caso concreto de que el argumento que quiero pasar por
> referencia es un fichero (habitualmente se declara como  *FILE *fichero ;*)
>  en el cual quiero leer o escribir. Me surgen varias maneras de hacerlo:
>
>
> *ALTERNATIVA 1 (lo que me parece más lógico):*
>
> *mi_funcion(const FILE *fichero , [...]) {*
> *    [...]*
> *}*
>
>
> *ALTERNATIVA 2 (siendo consistente con el caso general):*
>
>  *mi_funcion(const FILE &*fichero , [...]) {*
> *    [...]*
> *
> }
>
>
> ALTERNATIVA 3 (si en la alternativa anterior se pueden/deben "cancelar" los
> "operadores"):
>
> mi_funcion(const FILE fichero , [...]) {
>     [...]
> }
>
>
> ¿Cuál es la (más) correcta y/o la más lógica?
>
> GRACIAS de antemano.
>
> --
> Vicent
> *
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100119/fdbdf677/attachment.html>


Más información sobre la lista de distribución Cconclase