Пункт 1: В классах, в которых есть указатели, вы «просто пишете деструктор» для очистки выделенных вами ресурсов, в них нет ничего особенного.
Пункт 2: Нет необходимости делать delete window;
или что-то подобное, так как при выходе из gtk_main()
окно разрушится для вас.
Пункт 3: Почему бы вам не использовать Gtkmm, поскольку вы используете Gtk + в C ++?