struct MyClassHolder
{
 MyClass* p;
 MyClassHolder(): p(new MyClass()){}
 ~ MyClassHolder(){delete p;}
};

とか作っとけばいいんじゃない
自分でスマポ書いてるのと同じだけど