I was reading this question Deleting a const pointer and wanted to know more about delete behavior. Now, as per my understanding:
delete
delete expressio
delete is an operator that you can overload. It takes a pointer as an argument, and frees the memory, possibly using free. The compiler allows this whether the pointer is const or not.
free
const