برای مواقعی که بخواهید اشاره گر خام را به یک متد ارسال کنید هم بااستفاد از علامت اشاره گر * و هم با استفاده از متد get می تونید از مثال زیر استفاد کنید..
class LargeObject
{
public:
void DoSomething(){}
};
void ProcessLargeObject(const LargeObject& lo){}
void SmartPointerDemo()
{
// Create the object and pass it to a smart pointer
unique_ptr<LargeObject> pLarge(new LargeObject());
//Call a method on the object
pLarge->DoSomething();
// Pass a reference to a method.
ProcessLargeObject(*pLarge);
// Pass a reference to a method by get().
ProcessLargeObject(*pLarge.get());
}