Я видел следующий фрагмент кода:
class UPNumber {
public:
UPNumber();
UPNumber(int initValue);
...
// pseudo-destructor (a const member function, because
// even const objects may be destroyed)
void destroy() const { delete this; } // why this line is correct???
...
private:
~UPNumber();
};
Во-первых, я уверен, что приведенное выше определение класса верно. Вот мой вопрос, почему мы можем определить функцию «уничтожить», как указано выше? Причина, по которой спрашивают, заключается в том, почему мы можем изменить 'this' в функции-члене const?