两层指针共用一个智能指针控制基本对象的操作--成员访问操作符
智能指针,让ScreenPtr指向ScrPtr,来控制基础对象ScreenPtr(Screen *p): ptr(new ScrPtr(p)) {}解引用和箭头操作 Screen operator*(){return *ptr->sp;} Screen* operator->(){return ptr->sp;}两个小缺陷,第一个是未定义const版本,第二个是返回的