Estaba leyendo esta pregunta Deleting a const pointer y quería saber más sobre el comportamiento de delete
. Ahora, según mi entendimiento:¿Cómo se soluciona el borrado de la constness del puntero?
delete expression
obras en dos pasos:
- invocación destructor
- luego libera la memoria (a menudo con una llamada a
free()
) llamando al operador de borrar.
operator delete
acepta un void*
. Como parte de un programa de prueba sobrecargué operator delete
y encontré que operator delete
no acepta el puntero const
.
Dado que el operador delete no acepta el puntero const y elimina internamente las llamadas operator delete, ¿cómo funciona Deleting a const pointer?
¿El delete
usa const_cast internamente?
@ aJ. ¡Buena pregunta! –