delete
оператор работает только для объектов, выделенных с использованием оператора new
, в противном случае поведение не определено.
После того, как delete this;
сделано, ни один из членов не должен быть доступен.При доступе это вызовет исключение и приведет к сбою.
Но вы не можете назначить указатель this
.this
- это выражение prvalue , значением которого является адрес объекта, для которого вызывается функция.