Ответ 1
Сигналы автоматически отключаются при вызове деструктора QObject. Взгляните на документацию Qt: QObject Destructor
Мне интересно, нужно ли мне отключать синглы и слоты, если я уничтожаю объект, излучающий сигнал. Вот пример:
QAudioOutput * audioOutput = new QAudioOutput(format,mainWindow);
connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),this,SLOT(stateChanged(QAudio::State)));
delete audioOutput;
audioOutput = new QAudioOutput(format,mainWindow);
connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),this,SLOT(stateChanged(QAudio::State)));
Будет ли это автоматически отключать сигнал от старого аудиопотока, или это приведет к утечке памяти или другому поведению undefined?
Спасибо заранее.
Сигналы автоматически отключаются при вызове деструктора QObject. Взгляните на документацию Qt: QObject Destructor
Вам не нужно вручную отключать сигналы и слоты, разрушение QObject автоматически очищает их.