простой вопрос, поскольку руководство QT конкретно не оговаривает его; в руководстве QT упоминается де-конструктор, но не deleteelater().
Когда мы вызываем deleteelater() на объект, отключает ли он все его сигналы и регистрацию слотов?
Не совсем. В слоте deleteLater() назначается объект для удаления. Другими словами, он будет удален после того, как управление вернется в цикл событий.
Однако сигналы и слоты отключены после вызова деструктора QObject. Чтобы привести деструктор в документацию:
Все сигналы от объекта и от него автоматически отключены...
См. Также этот аналогичный вопрос о переполнении стека: отключить объект Qt Signals и Slots?
deleteLater()
просто вызываетdelete
. В C ++delete
автоматически вызывает деструктор.