Прежде всего, я знаю, что есть отличные реализации (Qt, Boost, cpp-event и т. Д.), Но я задаю вопрос, потому что хочу знать, как это работает!
Если я правильно понимаю, «система событий» использует шаблон Observer: некоторые объекты наблюдают, ожидают, чтобы что-то произошло ... а некоторые другие посылают сигналы. Хорошо.
Итак, допустим, у меня есть класс наблюдателей, с такими вещами:
void Observer::getNotified()
{
// Do stuff
}
Мой вопрос: как динамически управлять тем, что нужно делать? Я видел много людей, которые специально говорили не использовать указатели на функции. Для моей текущей потребности я могу сделать оператор switch, тип enum и выбрать другое поведение, но это не очень удовлетворительно. Итак, если это не указатели на функции, как это делается?