- Contains an internal pointer to an object, where the object holds the reference count
- Memory allocation is the same as a raw pointer
- An intrusive pointer of type T can be constructed from a raw pointer of type T*
- Base class which provides a CsSharedPointer to an existing object
- Contains an internal pointer to a potentially shared object
- Contains an internal pointer to a dynamically allocated array
- Contains an internal pointer to an object which is uniquely owned by this class
- Contains a internal pointer to a dynamically allocated array
- Contains a weak pointer to a shared pointer