Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/05/2011, 04:33
ssaammuu
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años
Puntos: 24
Respuesta: significado de const

En realidad la diferencia es bastante grande.

Código:
const t_tipo *variable
Esto declara un puntero 'normal' cuyo valor que guarda es constante, es decir si apunta a un entero que tiene un valor de 66, no podrás cambiar el ese número. Pero SI puedes cambiar la dirección donde el puntero apunta.

Código:
t_tipo * const variable
Esto en cambio declara un puntero a una dirección de memoria constante. En esta ocasión no podrás cambiar la dirección en memoria que el puntero apunta pero podrás cambiar el valor que la memoria guarda.

También puedes tener
Código:
const t_tipo * const variable
Que tiene dirección de memoria constante Y valor constante


Aquí un ejemplo rápido de la diferencia para que te quede más claro:
Código C++:
Ver original
  1. int valor1 = 1;
  2.     int valor2 = 2;
  3.  
  4.     const int* p1 = &valor1;
  5.     p1 = &valor2; //bien
  6.     *p1=22; //valor constante asi que error
  7.  
  8.     int* const p2 = &valor1;
  9.     *p2 = 11; //bien
  10.     p2 = &valor2; //intentado cambiar direccion de memoria
__________________
Foros Desarrollo de Juegos