Smart pointers
template< class T > class Ref { public: Ref(const T*); constructors
Ref(const Ref &); T* operator*() const; \ifsli{deref}{de-reference operators}
T* operator->() const; operator T*() const;type conversion
Ref& operator=(const T*); assignment
Ref& operator=(const Ref< T >&); };