A smart pointer to a managed CCObject-deriving class. Retains shared ownership over the managed instance. Releases the object when the Ref is destroyed, or assigned another object or nullptr.
Use-cases include, for example, non-CCNode class members, or nodes that are not always in the scene tree.