Inicializando ponteiros para objetos const
Um ponteiro para uma const o objeto pode ser inicializado com um ponteiro para um objeto que não é const, mas não vice-versa.Por exemplo, a inicialização a seguir é legal:
Window StandardWindow;
const Window* pStandardWindow( &StandardWindow );
No código anterior, o ponteiro pStandardWindow é declarado como um ponteiro para uma const objeto.Embora StandardWindow não é declarada como const, a declaração é aceitável, porque ele não aceita um objeto não declarado como const o acesso a uma const objeto.O inverso, isso é o seguinte:
const Window StandardWindow;
Window* pStandardWindow( &StandardWindow );
O código anterior declara explicitamente StandardWindow como um const objeto.Inicializando o ponteiro de nonconstant pStandardWindow com o endereço do StandardWindow gera um erro porque ele permite o acesso ao const objeto através do ponteiro.Ou seja, ele permite a remoção da const atributo do objeto.