我正在研究資源管理類,並希望讓用戶提供一個函數作爲資源管理器構造函數的一部分「ReleaseResource」方法。從那裏請求資源時,將提供functor作爲將要返回的shared_ptr的刪除器,以便在資源不再使用時調用適當的方法。作爲變量保留仿函數
我遇到的問題是,這需要我將函數存儲在我的類中,而且我不完全確定如何執行此操作。使用仿函數通常當你模板的功能,像這樣:
template<class MyFunctor> MyMethod(MyFunctor f) {
f();
}
,如果你打算使用仿函數在該函數的範圍,這是偉大的,但因爲模板超出範圍與我的功能不知道如何指定適當類型的變量來存儲仿函數供以後使用。
任何人都可以在正確的方向指向我嗎?
非常好!這正是我所期待的。非常感謝你! – Toji 2009-01-23 21:09:34