Существуют ли какие либо подходы для создания событийной модели в C++ по аналогии с событиями из C#? Знаю что данный вопрос уже не раз поднимался, кто то свои делегаты пишет а на основе их уже события строит, кто как выходит из положения, но хотелось бы узнать как правильнее и лучше всего решать данный вопрос, что бы в будущем код работал стабильно и не пришлось переписывать.
Мне нужно создать проект на C++ (очень мало с ним работал) и я хотел бы его сделать на событиях (по логики задачи лучше всего подходит). От сюда и вопросы: 1. Как в C++ принято создавать события (подписка / отписка и прочие) 2. Возможно существует какие либо библиотеки где события уже реализованы? 3. Если событийная модель не подходит то какие аналоги используют чаще всего ?
Я изначально думал сделать события на основе std::function - однако столкнулся с тем что нельзя однозначно определить какой именно объект / функция - были подписаны. Буду благодарен за советы и помощь.
В качестве одного из вариантов, можно через наследование. Делаешь интерфейс (например полностью абстрактный класс) , класс, который подписуется, наследуется от него, класс на который подписываются хранит коллекци указателей на этот интерфейс. Подписаться/отписаться - добавить/удалить указатель из коллекции. Событие - для всех элементов из коллекции вызвать определённый метод. Только нужно быть осторожным, чтобы не разрушить подписчика не отписавшись и с операторами копирования/присваивания/перемещения.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть устройство, которое может записывать в заданный COM портНужно считать данные с этого COM порта
Я уже посмотрел заголовочный файл, и сайт с документацией, но так и не понял что передавать вторым параметром в метод GetResource?