RefPtr智能指针

Glib::RefPtr是一个智能指针。准确的说,它是一个引用计数智能指针。你可能对std::unique_ptr<>std::shared_ptr<>十分熟悉,它们也是智能指针。在gtkmm-4.0中Glib::RefPtr<>std::shared_ptr<>的别名。Glib::RefPtr<>在C++标准库还没有添加引用计数智能指针的时候就已经存在于glibmm了(译注:事实上Glib::RefPtr的行为与std::shared_ptr的行为并不完全一致,且因glibmm等库的文档是由C文档直接生成而来,在一些C库中可以接受NULL作为参数的函数在对应的C++绑定库中的文档中都是可以接受nullptr作为参数,但实际上并不一定能接受nullptr作为参数,有时候需要传递Glib::RefPtr<FOO>()、Gdk::Event()、空的字符串等。参见:问题24)。

参考

智能指针的行为很像普通指针。这里有几个例子。