我總是閱讀重寫智能指針行爲的新定義的可能性,但仍然今天我找不到一個真實的例子。如何重新定義/覆蓋智能指針的行爲和生命週期?
現在我想提出這個問題,看看我能得到一個解決方案:在添加新的狀態,可以
智能指針使用引用計數或引用鏈接來管理他們的壽命週期,我的基本問題包括導致釋放和刪除我的指針,我想在觸發事件時釋放我的資源。
這或多或少是在玩遊戲時,通常所有的資源都會在用戶從等級1傳遞到等級2時被加載和釋放,所以當這種情況發生時,等級1的資源將被釋放。我也想堅持這個例子,因爲你不能等待自動引用計數,也許認爲如果在級別2中沒有使用來自級別1的資源,它將被自動釋放,因爲它不再被請求;這可能是真實的,但是當用戶在壓力下使用機器時與內存一起操作是非常糟糕的舉動。
我想堅持使用智能指針,因爲我也對其提供的所有其他功能感興趣,但是他們對我有這個巨大的缺點,我需要直接管理他們的生命週期。
我有什麼選擇?
如果您有一個「Level」對象,那麼在更改關卡時保留正確的對象將很容易。 – mfontanini 2012-08-12 01:07:08
@mfontanini是的,但問題是如何釋放其他人,以及如何在等級發生變化並且不等待自動操作的同時執行此操作。 – user827992 2012-08-12 01:08:56
觀察者模式如何? http://en.wikipedia.org/wiki/Observer_pattern – ForEveR 2012-08-12 01:13:43