Я склоняюсь к использованию 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). В моей ситуации мне нужно иметь возможность вызывать удаление в любом случае. Я могу вызвать удаление в quit_cb, но если вызывается SIGINT... то удаление никогда не вызывается! Уместно ли использовать умный указатель в этом случае?