Обработка событий в С++

Клюев Александр Васильевич
  • 0

Аннотация

Введение Так уж исторически сложилось, что в языке С++ нет событий. Событием (event) является исходящий вызов (программисты на VB хорошо знакомы с ними) и в С++ их действительно нет. Иногда события путают с сообщениями (message), но это не верно. Сообщение это прямой вызов: например windows вызывает оконную процедуру для передачи собщения окну. Объект (система) вызывает функцию обькта(окна). Вызов происходит от объекта к объекту. В отличии от сообщения событие имеет другую механику. Объект инициирует событие и вызываются все объекты-обработчики. Т.е. от одного объекта к нескольким. Причем объект инициатор события может ничего не «знать» об его обработчиках, поэтому событие называют исходящим вызовом. Раз уж в С++ события на уровне языка не поддерживаются, значит стоит организовать их на уровне библиотеки. Здесь приведена реализация такой библиотеки. В ней есть два класса signal и slot. Итак, чтобы сделать какой нибудь класс источником события поместите в него переменную типа signal: struct EventRaiser { // источник события   signal <void> someEvent; // void – тип аргумента события

Отзывы

Обработка событий в С++

Популярные книги

Глава 1 Карачаров позвонил ближе к вечеру. Всего через несколько часов с того момента, как я уехал из ресторана. После обеда мы с Полиной немного погуляли по Старому Арбату,…

Глава 1 Капитолийский холм, Рим — Астрал зреет, — тихий, но от того не менее зловещий голос монаха, раздаётся в полумраке. — Король Теней скоро придёт. Нужно готовить…

Annotation В прошлом, когда легионы ада шагали по Земле, за моей спиной стояли города и крепости. В меня верили, меня почитали. Простой мальчишка из черни, которого предали…

Глава 1 Они не атакуют. Окружили, прижав меня спиной к дорожному ограждению, но более ничего не делают — лишь продолжают стоять на своих местах, абсолютно никак не реагируя…

Глава 1 Кругом одни намеки Видимо, вот оно, то чувство, когда день начинается не с кофе, как выражаются на этой и подобных планетах, а с того, что встал не с той ноги.…

Глава 1 «Рыбалка» Сегодня была суббота, шестое декабря. И самым ранним утром, ещё до восхода, мы с Илоной отправились на круглосуточный каток Воробьёвых гор, недалеко…

Глава 1 Андрей Алексеевич, как только толпа гостей начала стекаться на балкон, плавным движением взял меня под локоть и, не говоря ни слова, направился в сторону одной…