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;\c{type} conversion
Ref& operator=(const T*); \c{// assignment}
Ref& operator=(const Ref &); };