Мой код нуждается в ограничителях области действия, однако нужно ли вручную Dismiss()
все ограничители области действия при выходе из функции нормально?то есть
void Deleter(MyClass* obj)
{
delete obj;
}
MyClass* Func()
{
MyClass* obj = new MyClass();
ScopeGuard sg1 = MakeObjGuard(Deleter, obj);
//More objects created. And more scope guards.
sg1.Dismiss();
//...Same for other guards
return obj;
}