SmartPtr

Followed more effective c++ Item28