or que comportamento diferente para ponteiros "TYPE * const"
O código abaixo está lidando com umTYPE* const
ponteiro.
struct D {
void Check ()
{
D* const p = new D; // 2nd test is "p = 0;"
cout<<"p = "<<p<<endl;
(D*&)p = new D;
cout<<"p = "<<p<<endl; // prints 0, "p = 0;" at declaration
}
};
int main ()
{
D o;
o.Check();
}
As minhas perguntas são,
Se você inicializar com0
, mesmo que a digitação da próxima vez não funcione. Fazer essa conversão de tipo é um comportamento indefinido?this
ponteiro também é deTYPE* const
, então por que o compilador não permite a mesma operação parathis
?