Использование деструктора = удалить;

Рассмотрим следующий класс:

struct S { ~S() = delete; };

Коротко и для цели вопроса: я не могу создавать экземплярыS лайкS s{}; ибо я не мог их уничтожить.
Как уже упоминалось в комментариях, я все еще могу создать экземпляр, выполнивS *s = new S;, но я не могу удалить его также.
Поэтому единственное использование, которое я вижу для удаленного деструктора, это что-то вроде этого:

struct S {
    ~S() = delete;
    static void f() { }
};

int main() {
    S::f();
}

То есть определите класс, который предоставляет только несколько статических функций и запрещает любые попытки создать экземпляр этого класса.

Каковы другие способы использования (если есть) удаленного деструктора?

Ответы на вопрос(5)

Ваш ответ на вопрос