Copie
Vous pouvez copier les RefPtr, tout comme des pointeurs normaux. Mais contrairement aux pointeurs normaux, vous n'avez pas à vous soucier de la destruction de l'instance sous-jacente.
Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window, data, width, height); Glib::RefPtr<Gdk::Bitmap> refBitmap2 = refBitmap;
Cela signifie bien sûr que vous pouvez stocker les RefPtrs dans des conteneurs standards tels que std::vector ou std::list.
std::list< Glib::RefPtr<Gdk::Pixmap> > listPixmaps; Glib::RefPtr<Gdk::Pixmap> refPixmap = Gdk::Pixmap::create(window, width, height, depth); listPixmaps.push_back(refPixmap);