gtkmm provides lifetime management of widgets using
Gtk::Widget* aWidget = Gtk::manage(new Widget()); Gtk::Widget.add(*aWidget);
This delegates lifetime management of aWidget to its container widget.
We also have several types of smart pointers, particular the C++ 11 smart pointers templates, which I use everywhere.
I find the manage/add syntax easier and cleaner to use, but it's not part of the C++ Standard, it's a gtkmm specific feature, which makes me think I should stick to std::shared_ptr, etc.
So I'm wondering what are the advantages/disadvantages of smart pointers vs the gtkmm manage/add model (aside from cases where you need the reference after the owner container has been deleted, or when you have a top level widget that has no containing widget).