Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Clases de Parámetros

Estas en el tema de Clases de Parámetros en el foro de C/C++ en Foros del Web. Hola a todos :) Tengo una duda sobre cómo reconocer el tipo de parámetros. Me sé la teoría y he visto tutoriales pero me siento ...
  #1 (permalink)  
Antiguo 25/07/2014, 02:54
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Exclamación Clases de Parámetros

Hola a todos :)

Tengo una duda sobre cómo reconocer el tipo de parámetros.
Me sé la teoría y he visto tutoriales pero me siento agobiada porque no termino de saber cómo reconocerlos.

Sé que hay dos tipos :
-De entrada(Parámetros por Valor)
-De salida o Entrada/salida(Parámetros por Referencia)

Alguien sabe alguna forma sencilla de reconocerlo y no dudar de si estoy haciendo lo correcto?

Espero puedan ayudarme,
Gracias :)
  #2 (permalink)  
Antiguo 25/07/2014, 07:02
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Clases de Parámetros

Paso de parámetro por valor: A la función a la que llamas le pasas una copia de la variable. Aunque en la función modifiques ese parámetro, solamente estás modificando la copia, y al salir de la función, perderás esas modificaciones y tu variable quedará igual. Así, el paso de parámetros por valor es solamente para entrada.

Paso de parámetro por referencia: A la función a la que llamas le pasas la dirección de la variable. A través de esa dirección puedes modificar el valor de esa variable, y esa modificación no se perderá. Puedes utilizar el paso por referencia tanto para entrada como para salida.

Debes tener en cuenta:

- El nombre de un array es un puntero al primer elemento. Así, cuando pasas un array como parámetro, en realidad estás pasando un puntero al primer elemento, luego lo pasas por referencia. Así pues, los arrays siempre pasan por referencia.

- Cuando pases estructuras de datos, es conveniente pasarlas por referencia aunque sólo vayan a utilizarse como entrada. Esto se debe a que, en términos de tiempo de máquina, se necesita muy poco tiempo para introducir en la pila una dirección (la de la estructura), pero se necesita mucho más para introducir una copia completa de la estructura.
  #3 (permalink)  
Antiguo 25/07/2014, 08:15
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Clases de Parámetros

Creo que te sirve esos videos sobre el tema:
http://v1.minidosis.org/C++/Subprogramas/

Y si te apetece aprender muchas mas cosillas los miras todos y ademas te sirve de referencia cuando tengas dudas es solo acudir al video determinado =): http://v1.minidosis.org/C++/

Esta es la misma pagina pero mas actualizada y con ejercicios y todo: http://www.minidosis.org/#/

Suerte!

PD:
El video que explica el tema exacto es este y es muy bueno: http://v1.minidosis.org/C++/Subprogr...%20Referencia/

En C se le dice referencia cuando pasas un puntero pero referencia en C++ es otra cosa distinta que no hay en C pero es mas o menos lo mismo. Cuando pasas por valor pasar una copia y cuando pasas una referencia pasas la dirección donde quieres que se cambie el valor.

Mejor mire todos los vídeos y lo entenderás.
  #4 (permalink)  
Antiguo 26/07/2014, 12:55
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Clases de Parámetros

Muchas gracias a los dos,veré los videos :)
Hace unos días ví comentarios tuyos Vangodp en los que recomendabas videos sobre minidosis :).
Es curioso porque yo estoy suscrita, desde hace tiempo, al canal de youtube de Pauek y no sabía que minidosis era una página suya hasta que lo leí en uno de tus comentarios :D.
Muchas gracias por la recomendación a ambos :)

Etiquetas: c++, parametros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:35.