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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Preguntillas sobre apuntadores en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Preguntillas sobre apuntadores en c++  (Leído 2,097 veces)
vazquinhos

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Preguntillas sobre apuntadores en c++
« en: 22 Agosto 2012, 09:41 am »

Hola estoy mirando tutoriales, libros etc etc para c++ y tengo unas dudillas con los apuntadores.

Por ejemplo cuando declaras una clase en c++ en su fichero .h, hacen un const variable& el "&" al final de la variable que significa?

Gracias


En línea

ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Preguntillas sobre apuntadores en c++
« Respuesta #1 en: 22 Agosto 2012, 11:28 am »

Hola vazquinhos .

Creo que te referis a const tipo &variable.

En la declaración de un argumento de función, permite enviar una variable por referencia evitando la copia local, ya sea para ganar memoria o velocidad, pero el modificador const garantiza que no se alterará el valor de la misma dentro de la función.

Ejemplo:

Código
  1. int f(const int &v) {
  2.  v = 10; /* ERROR */
  3. }
  4.  

Saludos.


En línea

vazquinhos

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: Preguntillas sobre apuntadores en c++
« Respuesta #2 en: 22 Agosto 2012, 22:45 pm »

por lo tanto cuando acabe la funcion el valor de la variable volvera a su estado original no¿?

Gracias.
En línea

ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Preguntillas sobre apuntadores en c++
« Respuesta #3 en: 23 Agosto 2012, 03:02 am »

Hola.

En el caso que se utilize el modificador const, cualquier intento de alterar el valor del argumento dentro de la función generará un error en tiempo de compilación. Es decir que  permanecerá en su estado original, no se le permite salir de él en ese ámbito.

Si lo que deseas es darle uso dentro de la funcion y que no se modifique el valor de la variable enviada tenes que pasarla por valor:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. void f(int v){
  5.  v = -5;
  6. }
  7. int main()
  8. {
  9.  int x = 10;
  10.  f(x);
  11.  cout << x;  /* muestra 10, el valor no fue alterado */
  12.  cin.get();
  13.  return 0;
  14. }
  15.  

Si en el último ejemplo el parámetro v hubiera estado precedido por el referenciador &,  se habría alterado el contenido de x y su valor final sería -5.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] 2 preguntillas.... sobre vcd
Multimedia
ezori 4 2,688 Último mensaje 1 Mayo 2004, 00:36 am
por ezori
Preguntillas sobre DISCO DURO
Hardware
Ershin 2 4,806 Último mensaje 16 Diciembre 2010, 09:46 am
por simorg
Tres preguntillas sobre arrays
Java
cointreau 7 4,230 Último mensaje 11 Abril 2012, 17:47 pm
por 1mpuls0
Problema con apuntadores!!!!!!
Programación C/C++
7hongo7 7 4,241 Último mensaje 5 Julio 2013, 10:16 am
por kmilinh0
Preguntillas sobre las cámaras termográficas
Electrónica
Anna123 1 2,679 Último mensaje 9 Julio 2014, 10:57 am
por Jota_j
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines