Слот сигнала утечки памяти Qt / C ++ - PullRequest
1 голос
/ 14 января 2020

Я использую сигнальные слоты с пользовательским объектом. Библиотека третьих сторон используется для получения некоторых измерений, и результат передается различным потокам.

struct Measurement_t{
    uint temp
};

void onMeasure(){
 Measurement_t meas = Measurement_t();
 if(::do_measuring(&meas)){
    emit sigDataMeasured(meas);
 }
}

signal definition:
void sigDataMeasured(Measurement_t meas);

У меня есть этот сигнал, подключенный к трем различным потокам. Дело в том, что при использовании top я вижу, что поток, в котором происходит измерение, теряет память. Единственная операция, которую я делаю в этой теме на регулярной основе - это измерение, поэтому я подозреваю, что это проблема. Когда я писал этот метод, я думал, что слоты, подключенные к моему сигналу (QueuedConnection), получают только копию, и экземпляр measure очищается, как только метод остается?

Это правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...