elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Consulta sobre punteros y referencias.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta sobre punteros y referencias.  (Leído 3,268 veces)
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Consulta sobre punteros y referencias.
« en: 26 Febrero 2013, 16:20 pm »

Es los mismo lo siguiente?

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int *px;
  5. void cambiar(int *valor){
  6.    px= valor;
  7.    *px=7;
  8. }
  9. int main(int argc, char*argv[]){
  10.    int x=0;
  11.    cout << x << endl;
  12.    cambiar(&x);
  13.    cout << x << endl;
  14. }

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int *px;
  5. void cambiar(int &valor){
  6.    px= &valor;
  7.    *px=7;
  8. }
  9. int main(int argc, char*argv[]){
  10.    int x=0;
  11.    cout << x << endl;
  12.    cambiar(x);
  13.    cout << x << endl;
  14. }


« Última modificación: 26 Febrero 2013, 16:26 pm por Xafi » En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Consulta sobre punteros y referencias.
« Respuesta #1 en: 26 Febrero 2013, 16:40 pm »

Es los mismo lo siguiente?

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int *px;
  5. void cambiar(int *valor){
  6.    px= valor;
  7.    *px=7;
  8. }
  9. int main(int argc, char*argv[]){
  10.    int x=0;
  11.    cout << x << endl;
  12.    cambiar(&x);
  13.    cout << x << endl;
  14. }

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int *px;
  5. void cambiar(int &valor){
  6.    px= &valor;
  7.    *px=7;
  8. }
  9. int main(int argc, char*argv[]){
  10.    int x=0;
  11.    cout << x << endl;
  12.    cambiar(x);
  13.    cout << x << endl;
  14. }

Hola,

Los dos codigos pasan una referencia a la variable, en una pasa el puntero (C) en otra pasa por referencia explicita (C++).
Yo por lo general uso la referencia por punteros.



En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: Consulta sobre punteros y referencias.
« Respuesta #2 en: 26 Febrero 2013, 17:25 pm »

osea usas el segundo código, esto que quieres decir que la referencia explicita no funciona en C?
Yo suelo usar la segunda.
al hacerlo como el segundo código, no se crea ninguna variable local verdad?
« Última modificación: 26 Febrero 2013, 17:28 pm por Xafi » En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Consulta sobre punteros y referencias.
« Respuesta #3 en: 26 Febrero 2013, 17:36 pm »

osea usas el segundo código, esto que quieres decir que la referencia explicita no funciona en C?
Yo suelo usar la segunda.
al hacerlo como el segundo código, no se crea ninguna variable local verdad?

Referencias no existen en C.
Si te refieres a la variable local que creaste en ambos códigos, en ambos códigos se puede acceder sin ninguna variable local.

void cambiar(int *valor){
    *valor=7;
}

void cambiar(int &valor){
    valor=7;
}

La diferencia es el operador para des-referenciar el puntero.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Consulta sobre punteros y referencias.
« Respuesta #4 en: 26 Febrero 2013, 18:14 pm »

al hacerlo como el segundo código, no se crea ninguna variable local verdad?
Se crea un puntero.

Pero variables nada, se pasa la dirreción de la variable anterior.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Consulta sobre punteros y referencias.
« Respuesta #5 en: 27 Febrero 2013, 05:10 am »

Código:
void cambiar(int &valor){
    valor=7;
}

claro la dirección..

sino
Código:
void cambiar(int* valor){
    *valor=7;
}

pero al llamarla tenés que hacer así
Código:
int valor;
 cambiar(&valor);

En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre referencias sobre mi tesis
Dudas Generales
jdc 3 5,459 Último mensaje 3 Mayo 2011, 23:39 pm
por jdc
Consulta punteros (C)
Programación C/C++
HRSLASH 8 3,982 Último mensaje 3 Septiembre 2012, 07:38 am
por do-while
(Consulta) Punteros a punteros en C
Programación C/C++
class_OpenGL 1 2,015 Último mensaje 19 Julio 2016, 14:29 pm
por class_OpenGL
Duda punteros y referencias c++
Programación C/C++
Mozzard 2 1,506 Último mensaje 23 Enero 2019, 22:41 pm
por MAFUS
Consulta sobre punteros y doble punteros
Programación C/C++
palacio29 4 3,365 Último mensaje 17 Mayo 2019, 20:40 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines