に特定の種類(デフォルトでは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());
}
私は別のデフォルト削除手段を使用したいので、私はInitPtr
方法をスキップして、代わりに
SomeTypePtr(pSomeType); // uses SomeTypeDeleter
SomeTypePtr(pSomeType, NullDeleter); // uses specified deleter
それを行うための最善の方法は何を使用することができますか?