list-1
smart_ptr<IHoge> p(new CHoge);
list-2
smart_ptr<IHoge> p(new CHoge,false);
枠-1
例) class CApp { CThread thread_; };
枠-2
smart_ptr<CApp>* p = new smart_ptr<CApp>(pApp);
枠-3
smart_ptr_base* q = p;
枠-4
delete q;
枠-5
smart_ptr_base* q = new smart_ptr<CApp>(pApp);