событие = & stackevent; // действительный?
Обычно это не безопасно, но в этом случае она действует, так как функция notify
не вернется, до тех пор пока событие обрабатывается (или нет), кто-то (это означает, что stackevent
будет «живым» в течение этого операция).
удалить heapevent; // действует? или потерял право собственности?
Yap, это действительно так, потому что обычно никто не должен содержать указатель на QEvent (и, конечно, удалить его), и, кстати, он уже обработан.
Ситуация значительно изменения при postEvent
используется:
событие должно быть выделяется в куче с очереди после событий будет брать на себя ответственность за события и удалить его, как только она была размещена , Невозможно получить доступ к событию после его публикации.
Ну, я думаю, что более удобно использовать распределение стека в вашей ситуации и передавать указатель на него в случае возникновения каких-либо проблем (память автоматически будет выпущена).
благодарит за чистый ответ. добро пожаловать в SO. Ждем ваших будущих ответов. – UmNyobe