Size: a a a

2020 June 17

S

Soul in pro.cxx
А указатель на функию может указывать на метод инстанса объекта? Допустим, у меня есть переменная, я вызываю метод объекта и в нем хочу присвоить этой переменной указатель на другой метод того же объекта, а потом откуда-то извне это дело вызвать
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Soul
А указатель на функию может указывать на метод инстанса объекта? Допустим, у меня есть переменная, я вызываю метод объекта и в нем хочу присвоить этой переменной указатель на другой метод того же объекта, а потом откуда-то извне это дело вызвать
Указатель на функцию и указатель на функцию-член это разные типы, друг в друга не преобразуются
источник

VS

Vlad Serebrennikov in pro.cxx
Soul
А указатель на функию может указывать на метод инстанса объекта? Допустим, у меня есть переменная, я вызываю метод объекта и в нем хочу присвоить этой переменной указатель на другой метод того же объекта, а потом откуда-то извне это дело вызвать
да, это называется указатель на метод
источник

VS

Vlad Serebrennikov in pro.cxx
немного другая штука, но суть та же
источник

S

Soul in pro.cxx
так, а как декларировать указатель на функцию-член?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
R (C::* f)();
источник

S

Soul in pro.cxx
благодарю
источник

S

Soul in pro.cxx
этим заклинанием вы избавили мою программу от глобального состояния :D
источник

m

magras in pro.cxx
Danya
https://youtu.be/2wz0r2FfJmg
Можно сделать самому)
Спасибо за ссылку. Это любопытный  прием, но он требует врапперов вокруг всех источников событий. Нужна работа с файлами? Пиши врапперы на все необходимые операции. Плюс все корутины приходится оборачивать в обычные функции для запуска.

В принципе с точки зрения реализации это не сильно отличается от того что писали бы разработчики qt, но они могли бы предоставить более удобный интерфейс.
источник

D

Danya in pro.cxx
magras
Спасибо за ссылку. Это любопытный  прием, но он требует врапперов вокруг всех источников событий. Нужна работа с файлами? Пиши врапперы на все необходимые операции. Плюс все корутины приходится оборачивать в обычные функции для запуска.

В принципе с точки зрения реализации это не сильно отличается от того что писали бы разработчики qt, но они могли бы предоставить более удобный интерфейс.
Не очень понял, что ты имеешь ввиду. Там насколько я понимаю достаточно в make_awaitable_signal передать источник сигнала и сам сигнал, которые могут быть любыми
источник

D

Danya in pro.cxx
Не надо писать врапперы на каждый чих, но везде писать make_awaitable_signal
источник

ПК

Побитый Кирпич... in pro.cxx
Там не очень понятно кто эти корутины крутить будет. Надо в Qt-шный event loop интегрироваться
источник

m

magras in pro.cxx
Danya
Не надо писать врапперы на каждый чих, но везде писать make_awaitable_signal
Да, я не прав. Автор прокидывает аргументы переданные в сигнал в результат await'а. Кажется этого достаточно чтобы получить универсальный механизм.
источник

D

Danya in pro.cxx
Побитый Кирпич
Там не очень понятно кто эти корутины крутить будет. Надо в Qt-шный event loop интегрироваться
Кажется вполне понятно
Там же за сигнал слот вешается под капотом
источник

m

magras in pro.cxx
Побитый Кирпич
Там не очень понятно кто эти корутины крутить будет. Надо в Qt-шный event loop интегрироваться
Они resum'ятся в обработчике сигнала, который вызывает event loop.
источник

o

osm1um in pro.cxx
Побитый Кирпич
Там не очень понятно кто эти корутины крутить будет. Надо в Qt-шный event loop интегрироваться
А как же boost?
источник

o

osm1um in pro.cxx
На спор беру, что сурсы буста опять перетянут в STL...
источник

ПК

Побитый Кирпич... in pro.cxx
причем тут буст?
источник

o

osm1um in pro.cxx
Побитый Кирпич
причем тут буст?
Ну вы же о корутинах говорили?
источник

ПК

Побитый Кирпич... in pro.cxx
osm1um
Ну вы же о корутинах говорили?
в бусте другие корутины
источник