Когда целесообразно использовать интеллектуальные указатели C ++ в графических интерфейсах (программы с основными циклами) - PullRequest
1 голос
/ 29 июля 2010

Я склоняюсь к использованию std :: tr1 :: shared_ptr для автоматического управления указателем на служебный класс в моей программе с графическим интерфейсом.

В основном вот скелет программы:

int main () {
    Allocate dynamic memory for utility class

    GUI code.. GUI code... GUI Code..
    GUI Main Loop
}

Программа завершается, когда пользователь вызывает quit_cb или если вызывается SIGINT (CTRL + C). В моей ситуации я должен быть в состоянии вызвать удаление в любом случае. Я могу вызвать delete в quit_cb, но если вызывается SIGINT ... тогда delete никогда не вызывается! Уместно ли в этом случае использовать умный указатель?

1 Ответ

1 голос
/ 19 августа 2010

Вы можете также перехватить Ctrl-C и вызвать quit_cb / delete даже в этом случае.

Как мне перехватить событие ctrl-c?(C ++)

Так что независимо от случая выхода вы всегда охвачены.Нет необходимости в авто-указателе или чем-то «умном».

...