을 특정 유형 (즉, delete
이 아님)에 대한 기본 삭제자를 제공 할 수 있습니까? 특정 유형에 대한 shared_ptr의 기본 삭제 자
// .h
typedef boost::shared_ptr<SomeType> SomeTypePtr;
SomeTypePtr InitPtr(SomeType * p);
// .cpp
struct SomeTypeDeleter { ... };
SomeTypePtr InitPtr(SomeType * p)
{
return SomeTypePtr(p, SomeTypeDeleter());
}
나는 다른 기본 Deleter가를 사용하고자하는, 그래서 InitPtr
방법을 생략하고 대신
SomeTypePtr(pSomeType); // uses SomeTypeDeleter
SomeTypePtr(pSomeType, NullDeleter); // uses specified deleter
그렇게 할 수있는 가장 좋은 방법은 무엇입니까를 사용할 수 있습니까?