Copying
You can copy RefPtrs, just like normal pointers. But unlike normal pointers, you don't need to worry about deleting the underlying instance.
Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file(filename); Glib::RefPtr<Gdk::Pixbuf> refPixbuf2 = refPixbuf;
Of course this means that you can store RefPtrs in standard containers, such as std::vector or std::list.
std::list< Glib::RefPtr<Gdk::Pixbuf> > listPixbufs; Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file(filename); listPixbufs.push_back(refPixbuf);