Kopieren

Sie können RefPtrs ganz einfach wie normale Zeiger kopieren. Aber im Gegensatz zu normalen Zeigern müssen Sie sich keine Gedanken um die darunterliegenden Instanzen machen.

auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);
auto refPixbuf2 = refPixbuf;

Das bedeutet natürlich, dass Sie RefPtrs in Standardcontainern speichern können, wie std::vector oder std::list.

std::list<Glib::RefPtr<Gdk::Pixbuf>> listPixbufs;
auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);
listPixbufs.push_back(refPixbuf);