Какое легкое событие/делегата C++ (сигнал/слот) библиотека я должен выбрать?

Я знаю, что вопрос уже задали и ответили, но это было больше чем один год назад, и похоже, что там существуют новые альтернативы.

Таким образом, я кодирую игру с библиотекой SFML (который я начинаю находить в значительной степени прохладным на самом деле), и я ищу легкую и быструю библиотеку события/делегата.

После проведения некоторого исследования и откладывавший классические (Повышения. Сигналы, libsigc ++), я нашел "cpp-события". Это не выглядит очень популярным прямо сейчас — так как это - очень недавняя библиотека — но это кажется худшим, чтобы быть протестированным. Мне очень было бы интересно знать, попробовал ли кто-то здесь его и может дать немного обратной связи.

У Вас есть другое подобное (или лучше) опциями предложить? Я смотрю довольно реальные проекты (который будет сохраняться), чем ответы на форумах.

Спасибо!

7
задан Community 23 May 2017 в 12:34
поделиться

2 ответа

Мне кажется, что http://www.codeproject.com/KB/cpp/ImpossibleFastCppDelegate.aspx - отличная реализация для игр. Нет динамического распределения памяти, разумная производительность, простая отладка => отлично подходит для игр.

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

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

3
ответ дан 7 December 2019 в 10:00
поделиться

Также посмотрите на Boost.Signals2, который является потокобезопасной версией Boost.Signals. Я использую его на работе в проекте среднего размера и вполне им доволен.

3
ответ дан 7 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: