逆参照

->演算子を使ってスマートポインタを逆参照(dereference)し、それが指すインスタンスのメソッドを呼ぶことができます。これは通常のものと同様です。

Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window,
data, width, height);
int depth = refBitmap->get_depth();

しかし、よくある他のスマートポインタと違い、*演算子によってそれが指すインスタンスを呼ぶことはできません。

Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window,
data, width, height);
Gdk::Bitmap* underlying = *refBitmap; //Syntax error - will not compile.