Initial shared_ptr for CCObject

a Shared Pointer that lets you use CCObject objects with STL containers
like std::map, std::vector, etc.