Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 16.7.2011, 18:38 |
но в функцию то можно передавать указатели на локальные переменные, выход из области видимости то после функции где-то произойдет. А соединение сигнал-слот в одном потоке вроде эквивалетно прямому вызову Сегодня ты об этом помнишь в своём слоте, а завтра нет. А если слот чужой, сторонней библиотеки? Вобщем лучше поостеречся.когда происходит передача по значению тогда точно можно спать спокойно. Если же по указателю, то лучше уже динамически объект создать. по-умолчанию - QeuedConnection Авто. |
|
mezmay | Дата 16.7.2011, 16:55 |
Из асистента: Qt::AutoConnection - (default) Same as DirectConnection, if the emitter and receiver are in the same thread. Same as QueuedConnection, if the emitter and receiver are in different threads. |
|
ufna | Дата 16.7.2011, 13:47 |
А соединение сигнал-слот в одном потоке вроде эквивалетно прямому вызову Нет, если DirectConnection не задано (по-умолчанию - QeuedConnection). |
|
Алексей1153 | Дата 16.7.2011, 13:03 |
sidsukana, лучше контейнер, чем такие опасные конструкции | |
sidsukana | Дата 15.7.2011, 22:24 |
Ну а там как хотите так и передавайте ваш массив. |
|
mezmay | Дата 15.7.2011, 22:03 |
но в функцию то можно передавать указатели на локальные переменные, выход из области видимости то после функции где-то произойдет. А соединение сигнал-слот в одном потоке вроде эквивалетно прямому вызову | |
Litkevich Yuriy | Дата 11.7.2011, 23:15 |
а это почему? потому-что переменная умрёт, по выходу из локальной области видимости. |
|
mezmay | Дата 11.7.2011, 22:41 |
указатели и ссылки на локальные переменные передавать нельзя? нельзя, но не только между потоками.а это почему? |
|
Litkevich Yuriy | Дата 11.7.2011, 18:05 |
указатели и ссылки на локальные переменные передавать нельзя? нельзя, но не только между потоками.Только по значению получается передавать? можно создать объект динамически (new), и передать указатель на него. |
|
mezmay | Дата 11.7.2011, 17:15 |
Есть 2 потока. Из одного в другой надо передать массив, являющийся локальной переменной. Мне кажется что с помощью сигналов и слотов этого делать нельзя, т.к. этот массив на момент приема слотом может уже уничтожиться (т.к. между потоками связь не прямая а через события). Короче получается что указатели и ссылки на локальные переменные передавать нельзя? Только по значению получается передавать? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 12:44 |