Я склоняюсь к использованию 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 никогда не вызывается! Уместно ли в этом случае использовать умный указатель?