내가 신호를 방출하는 물체를 파괴하면 신호와 슬롯을 연결 해제해야하는지 궁금합니다.Qt 신호 및 슬롯 객체 연결이 끊어 졌습니까?
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)));
이 자동으로 이전 audioOutput에서 신호를 분리 것인가, 아니면 MEM 누출 또는 다른 정의되지 않은 동작으로 이어질 것입니다 예를 들면 다음과 같습니다?
미리 감사드립니다.
'QObject'는 파괴되었을 때 연결을 안전하게 정리할 수 있지만 위와 같이 부모를 이미 가지고있는'QObject'를 삭제하지 말 것을 권장합니다. 'QObject'를 위해 자동 메커니즘을 이미 회로에 배치하십시오. 'QObject'를 직접 삭제하는 대신에'deleteLater()'를 사용하는 것이 일반적으로 더 안전합니다. –