а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 12:10
Оценка: -1
насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Великий Мессия google
Дата: 30.06.25 12:22
Оценка:
Здравствуйте, wl., Вы писали:

wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся


за пределами куте, они нигде не используются
щарп не просто язык
там и гуи насколько я понимаю


вообще не плохо интересоваться работой комитета
что бы понимать что основная нагрузка идет
на разбор и отфутболивание тупых пропозлов
Re[2]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: SаNNy Россия  
Дата: 30.06.25 12:28
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>за пределами куте, они нигде не используются


логично, это ж кутешная примочка
Re[2]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 12:42
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>Здравствуйте, wl., Вы писали:


wl.>>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся


ВМ>за пределами куте, они нигде не используются

ВМ>щарп не просто язык
ВМ>там и гуи насколько я понимаю

так сигналы это не только GUI — асинхронная работа сети та же, но тут, конечно, ASIO тоже не часть стандарта С++
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: velkin Земля kisa.biz
Дата: 30.06.25 12:42
Оценка: 1 (1) +2
Здравствуйте, wl., Вы писали:

wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся


Потому что в Qt мета-объектный компилятор, сокращённо moc. Он сначала парсит C++ код со специальными для него вставками включая макросы, а потом генерирует дополнительные moc_*.cpp файлы используя конструкции C++. И только потом это попадает в компилятор C++. Мета-объекты, а так же сигналы и слоты работающие за счёт них не являются частью стандарта C++.

Более того мета-объектный компилятор генерирует конструкции вида switch и if. То есть ты бы сам мог руками прописать, что он там генерирует, но без ограничений moc, а исходя из своей фантазии ограничивающейся лишь C++. Или и вовсе взять решения из Boost. Почему, к примеру, Qt, а не Boost по твоему лучше?

Лично я думаю, что если в C++ официально будут вводить сигнал и слоты, то к Qt это не будет иметь отношения.
Re[3]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Великий Мессия google
Дата: 30.06.25 12:48
Оценка:
Здравствуйте, wl., Вы писали:

wl.>Здравствуйте, Великий Мессия, Вы писали:


ВМ>>Здравствуйте, wl., Вы писали:


wl.>>>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся


ВМ>>за пределами куте, они нигде не используются

ВМ>>щарп не просто язык
ВМ>>там и гуи насколько я понимаю

wl.>так сигналы это не только GUI — асинхронная работа сети та же, но тут, конечно, ASIO тоже не часть стандарта С++


std::function прекрасно с этим справляется
экзекуторы которые завезли в С++26 тоже прекрасно работают без сигналов
Re[2]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 12:54
Оценка: +1 :)
Здравствуйте, velkin, Вы писали:

V>Почему, к примеру, Qt, а не Boost по твоему лучше?


По-моему, Qt стремится к простоте, а Boost к библиотечной сложности
Re[2]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Философ Ад http://vk.com/id10256428
Дата: 30.06.25 12:56
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>щарп не просто язык

ВМ>там и гуи насколько я понимаю

До гуи в языке только Борланд мог додуматься, в шарпе такого не было, нет, и врядли будет.
Если что, я про вот такое:
    procedure WMStuff(var Message: TMessage); message WM_Stuff;
Всё сказанное выше — личное мнение, если не указано обратное.
Re[4]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 12:57
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>std::function прекрасно с этим справляется

ВМ>экзекуторы которые завезли в С++26 тоже прекрасно работают без сигналов

ну наверное, мне просто не понятно, почему такая удачная реализация асинхронности не входит в язык без костылей препроцессора Qt
Re[3]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Нomunculus Россия  
Дата: 30.06.25 13:05
Оценка: :)))
Здравствуйте, wl., Вы писали:

wl.>По-моему, Qt стремится к простоте, а Boost к библиотечной сложности


Для меня Boost превратил С++

  из этого


  в это
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:08
Оценка:
Здравствуйте, wl., Вы писали:

wl.>насколько я понимаю, в том же C# подобная функциональность это часть стандарта языка, причем очень активно использующаяся


Нахрен они нужны в стандарте.

А вот property с get/set хэндлерами были очень приятны
Маньяк Робокряк колесит по городу
Re[5]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:09
Оценка: +1
Здравствуйте, wl., Вы писали:

wl.>ну наверное, мне просто не понятно, почему такая удачная реализация асинхронности не входит в язык без костылей препроцессора Qt


Ничего там удачного нет, одни костыли
Маньяк Робокряк колесит по городу
Re[3]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:10
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>До гуи в языке только Борланд мог додуматься, в шарпе такого не было, нет, и врядли будет.

Ф>Если что, я про вот такое:
Ф>
Ф>    procedure WMStuff(var Message: TMessage); message WM_Stuff;
Ф>


А что это? И причем тут язык? Кстати, язык явно не плюсы, дельфячка, судя по всему
Маньяк Робокряк колесит по городу
Re[2]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 13:12
Оценка:
Здравствуйте, Marty, Вы писали:

M>А вот property с get/set хэндлерами были очень приятны


Эх... и это в Qt тоже есть, пусть и не так удобно, как в C#
Re: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Великий Мессия google
Дата: 30.06.25 13:13
Оценка: 3 (1)
https://lists.isocpp.org/std-proposals/2021/07/2835.php

зачитавайтесь
далее там некст бай месседж
с 21 года вяло обсуждают по сей день
Re[3]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:19
Оценка:
Здравствуйте, wl., Вы писали:

M>>А вот property с get/set хэндлерами были очень приятны


wl.>Эх... и это в Qt тоже есть, пусть и не так удобно, как в C#


Это ещё борман делал в середине 90ых в своих дельфях нативно, и перенёс в свой плюсовый билдер с нативной поддержкой компилятором:

class TMyComponent : public TComponent
{
private:
    int FMyValue;
    void __fastcall SetMyValue(int Value);
public:
    __property int MyValue = { read=FMyValue, write=SetMyValue };
};


Мне нравилось, я подобное делал на плюсах без всякого кути, но без макросов не обходилось
Маньяк Робокряк колесит по городу
Re[4]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Философ Ад http://vk.com/id10256428
Дата: 30.06.25 13:24
Оценка: 1 (1)
Здравствуйте, Marty, Вы писали:

Ф>>
Ф>>    procedure WMStuff(var Message: TMessage); message WM_Stuff;
Ф>>


M>А что это? И причем тут язык? Кстати, язык явно не плюсы, дельфячка, судя по всему


Да, это делфля. У них в язык диспатчер виндовых сообщений втроен, прямо в Object'е есть метод Dispatch(). Подробнее тут.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:28
Оценка:
Здравствуйте, Философ, Вы писали:

M>>А что это? И причем тут язык? Кстати, язык явно не плюсы, дельфячка, судя по всему


Ф>Да, это делфля. У них в язык диспатчер виндовых сообщений втроен, прямо в Object'е есть метод Dispatch(). Подробнее тут.


Нет, диспатчер не встроен в язык, это исключительно библиотечная пристройка. Всё тоже самое было и билдере, фришным компилятором которого (BC++5.5) я некоторое время пользовался для написания и гуишных и консольных программ
Маньяк Робокряк колесит по городу
Re[6]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: wl. Россия  
Дата: 30.06.25 13:48
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, Философ, Вы писали:


M>>>А что это? И причем тут язык? Кстати, язык явно не плюсы, дельфячка, судя по всему


Ф>>Да, это делфля. У них в язык диспатчер виндовых сообщений втроен, прямо в Object'е есть метод Dispatch(). Подробнее тут.


M>Нет, диспатчер не встроен в язык, это исключительно библиотечная пристройка. Всё тоже самое было и билдере, фришным компилятором которого (BC++5.5) я некоторое время пользовался для написания и гуишных и консольных программ


а почему не самим билдером? в те годы всё подобное ПО было толи взломанным, толи вообще без защиты
Re[7]: а почему Qt-шные сигналы/слоты не вносят в стандарт C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.06.25 13:55
Оценка:
Здравствуйте, wl., Вы писали:

M>>Нет, диспатчер не встроен в язык, это исключительно библиотечная пристройка. Всё тоже самое было и билдере, фришным компилятором которого (BC++5.5) я некоторое время пользовался для написания и гуишных и консольных программ


wl.>а почему не самим билдером? в те годы всё подобное ПО было толи взломанным, толи вообще без защиты


Потому, что билдер был не нужен, не хотел завязываться на их библиотеки
Маньяк Робокряк колесит по городу
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.