O programa abaixo ilustra um exemplo simples do uso de apontadores. O objetivo deste exemplo é simplesmente rever conceitos básicos relativos a apontadores.
indentation
*
) precedendo o nome da
variável. O apontador então é um apontador para uma
variável daquele tipo específico e não deve ser usado
para variáveis de outros tipos.
O processo de obter o valor de uma variável através de um apontador é usualmente conhecido como derreferência. Como em ANSI-C, o modo de derreferenciar um apontador em C ++ é também através do uso do asterisco precedendo o nome do apontador.
O resultado da execução do programa deste exemplo deve ser
Pig now has the value of 34 y now has the value of 38.3125
A penúltima linha desta função ilustra a definição de um apontador para um valor constante, ou seja, o valor para qual o apontador name1 aponta não pode ser alterado. É também possível definir um apontador constante, o qual não pode ser alterado. Um exemplo deste caso, name2, é apresentado na linha seguinte do exemplo.
O uso destas duas construções pode suportar verificação adicional em tempo de compilação e ao mesmo tempo melhorar a qualidade de código. Caso você saiba que um apontador nunca será movido devido a sua natureza, você deve definí-lo como um apontador constante. Caso você saiba que um valor nunca será alterado, ele deve ser definido como constante, de forma que o compilador poderá avisar em caso de tentativas acidentais de mudanças em seu valor.
Este mesmo exemplo ainda ilustra o uso de apontadores para void, uma construção já adotada em ANSI-C mas ainda pouco usada. Um apontador para void pode receber o valor de qualquer outro tipo de apontador. No exemplo, o apontador general recebe primeiro um endereço de um tipo int e posteriormente de um tipo float. Esta construção permite que o programador use um apontador que pode apontar para muitos tipos diferentes a fim de transferir informação em um programa.