Russian Qt Forum

Qt => Общие вопросы => Тема начата: Sancho_s_rancho от Май 11, 2010, 19:30



Название: Передача локальных объектов ссылкой
Отправлено: Sancho_s_rancho от Май 11, 2010, 19:30
Объект, созданный на стеке может передаваться как константная ссылка через механизм сигнал-слот. Как я понимаю: все происходит без проишествий т.к. используется callback и объект не будет уничтожен.
Если использовать Qt::QueuedConnection то уже не все так радужно. Объект будет уничтожен к моменту вызова слота.
Грамотно ли передавать локальный объект как ссылку?


Название: Re: Передача локальных объектов ссылкой
Отправлено: BRE от Май 11, 2010, 19:46
При передачи параметров используя систему сигнал-слот с типом подключения QueuedConnection, в слот-получатель все равно будет передана копия параметра, т.е. все равно не получиться изменить локальный объект, ссылка на который передается в параметре сигнала.


Название: Re: Передача локальных объектов ссылкой
Отправлено: Sancho_s_rancho от Май 11, 2010, 19:53
При передачи параметров используя систему сигнал-слот с типом подключения QueuedConnection, в слот-получатель все равно будет передана копия параметра, т.е. все равно не получиться изменить локальный объект, ссылка на который передается в параметре сигнала.

Любопытно. Как-то пропустил я это место в документации.