Сообщение Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++? от 30.06.2025 18:13
Изменено 30.06.2025 18:15 SaZ
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
Здравствуйте, wl., Вы писали:
wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся
Уже высказали много вариантов. Но, мне кажется, основная причина даже не в qt-шной модели памяти, а в том, что сигналы в Qt не будут работать без цикла обработки сообщений (за исключением некоторых частных случаев) в каждом потоке.
Второе ограничение — это некопируемый базовый класс от которого нужно наследоваться.
То есть, это частное решение с определённым, достаточно большим оверхедом.
wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся
Уже высказали много вариантов. Но, мне кажется, основная причина даже не в qt-шной модели памяти, а в том, что сигналы в Qt не будут работать без цикла обработки сообщений (за исключением некоторых частных случаев) в каждом потоке.
Второе ограничение — это некопируемый базовый класс от которого нужно наследоваться.
То есть, это частное решение с определённым, достаточно большим оверхедом.
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
Здравствуйте, wl., Вы писали:
wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся
Уже высказали много вариантов. Но, мне кажется, основная причина даже не в qt-шной модели памяти, а в том, что сигналы в Qt не будут работать без цикла обработки сообщений (за исключением некоторых частных случаев) в каждом потоке.
Второе ограничение — это некопируемый базовый класс от которого нужно наследоваться.
То есть, это частное решение с определённым, достаточно большим оверхедом.
P.S. по поводу moc компилятора — он не нужен для сигналов/слотов. Уже давно есть проект, который практически полностью его заменяет — https://github.com/woboq/verdigris
wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся
Уже высказали много вариантов. Но, мне кажется, основная причина даже не в qt-шной модели памяти, а в том, что сигналы в Qt не будут работать без цикла обработки сообщений (за исключением некоторых частных случаев) в каждом потоке.
Второе ограничение — это некопируемый базовый класс от которого нужно наследоваться.
То есть, это частное решение с определённым, достаточно большим оверхедом.
P.S. по поводу moc компилятора — он не нужен для сигналов/слотов. Уже давно есть проект, который практически полностью его заменяет — https://github.com/woboq/verdigris