| | | | | |

Smart Pointer Member Functions

  • Smart Pointer Member Functions: error prone due to syntactical and literary similarity with those of the PointerType
SmartPtr<Printer> spPrn = ...
spPrn->Release(); // release the printer (printer method)
spPrn.Release();  // release the pointer to the printer (smart pointer method)
  • Loki policy - no smart pointer named member functions; use namespace-level functions:
T*   GetImpl    (SmartPtr<T>& sp); // return the pointer object stored by sp
T*&  GetImplRef (SmartPtr<T>& sp); // return a reference to the pointer object
void Reset      (SmartPtr<T>& sp, T* source); // resets the underlying pointer value
void Release    (SmartPtr<T>& sp, T*& destination); // releases ownership

| | Top of Page | 5. Smart Pointers - 6 of 26