Acabo de notar que os punteiros pasados a delete
poden ser const
mentres que os que pasan a gratuíto
non pode. Eso é realmente unha sorpresa para min.
E en C ++ unha sobrecarga ao operador delete
debería ter unha sinatura como:
void operator delete(void* p);
Pero engadir unha const
ao punteiro do parámetro non é válida. :
void operator delete(void const* p);
Alguén me pode dicir por que eliminar
está deseñado deste xeito?