Информация об изменениях

Сообщение Re: Signals/Slots концепция от 17.09.2021 15:22

Изменено 17.09.2021 15:51 Videoman

Re: Signals/Slots концепция
Здравствуйте, maks1180, Вы писали:

M>Где найти реализацию Signals/Slots концепции — её я открыл для себя в QT и она очень мне понравилась. Но тащить из-за неё QT не могу.

M>Желательно, что-бы работала на старых компиляторах.

У меня есть своя маленькая легкая библиотечка, которая делает всё что мне нужно как в QT, но там шаблонная магия, С++17 и небольшая завязка на потоки с синхронизацией, т.к. слоты без возможности вызовов из других потов не так полезны на практике.

M>Не могу понять как написать на с++ (без ассемблера) код, который вызовет метод объекта, если нам известно только адрес объекта и адрес метода.

M>На ассемблере то легко это сделать, а как на с++ ?

Проще всего использовать готовыe примитивы: начать можно с std::invoke, std::apply и std::function. C помощью них сможешь организовать любые нужные тебе.
Re: Signals/Slots концепция
Здравствуйте, maks1180, Вы писали:

M>Где найти реализацию Signals/Slots концепции — её я открыл для себя в QT и она очень мне понравилась. Но тащить из-за неё QT не могу.

M>Желательно, что-бы работала на старых компиляторах.

У меня есть своя маленькая легкая библиотечка, которая делает всё что мне нужно как в QT, но там шаблонная магия, С++17 и небольшая завязка на потоки с синхронизацией, т.к. слоты без возможности вызовов из других потов не так полезны на практике.

M>Не могу понять как написать на с++ (без ассемблера) код, который вызовет метод объекта, если нам известно только адрес объекта и адрес метода.

M>На ассемблере то легко это сделать, а как на с++ ?

Проще всего использовать готовыe примитивы: начать можно с std::invoke, std::apply и std::function. C помощью них сможешь организовать любые нужные тебе вызовы.