- jednoduše počítá reference
- při dosažení nuly uvolní objekt
- neumí cykly (řeší se pomocí Weak reference)
- při každé změně reference je nutné zamykat – výrazně pomalejší
- obykle používané jen na sdílené klíčové části aplikace (implementace FS)
- implementace Boost.org.
- používají je COM objekty, GLib, Mozilla, Linux kernel, ...
Boost.org:
RefPtr<Foo> a(new Foo());
a->metoda();
Je také možné nepovinně volat
a.release();