[Índice][Previo] [Siguiente]

Punteros constantes y punteros a constantes.

C++ permite definir un puntero a una constante, de forma que el valor al que el puntero apunta no pueda ser cambiado, pero el puntero en sí puede cambiar para apuntar a otra variable o constante:

 const int l = 2;
 const int *p= &l;

p es un puntero a un entero, declarado como constante. El entero al que apunta p no debe ser cambiado. El puntero p en sí puede modificarse. Así, *p = 3 no es válido, pero p++ sí lo es.

Además, se puede declarar un puntero constante, que no puede ser cambiado:

En la declaración:

int *const p;

p es un puntero constante que no puede ser cambiado. El carácter al que apunta sin embargo sí puede modificarse.

Por último :

 const int m = 3;
 const int *const p = &m;

indica que ni el puntero p ni el carácter al que apunta pueden ser modificados.

Estas construcciones pueden utilizarse para mejorar la calidad del código. Si un puntero o una variable no serán nunca cambiados deben declararse como constantes. El compilador indicará si inadvertidamente se han modificado estos valores.

[Índice][Previo] [Siguiente]


Última modificación: 2-4-97

Comentarios, sugerencias, ideas...

© Beatriz Fuentes Arenaz, 1996-1997

Free Web Hosting