在某些情況下,我希望有某種基於時間的智能指針,例如用於緩存一些龐大的對象,但如果不使用,則會在一段時間後自動釋放它。當指針被觸摸(取消引用)時,重新開始倒計數,並且如果需要在計算持續時間內「鎖定」對象,則還可以停止倒計數。例如:是否存在定時指針?
timed_ptr<Type,30> p = new Type(); \\object is deleted after 30 seconds, and pointer set to a checkable 'null' state
...
p.stop_count_down();
// do something with the object, guaranteed it won't expire while we still need it.
p.start_count_down();
在boost或其他庫中是否存在這種類型的東西?
好像有綁到這樣一個低級別的一個(智能對象的引用),這樣一個高層次的概念(時間資源分配)會導致非常脆,固有的非確定性程序。 – MooseBoys
這不應該很難實現,對吧? – Zereges
@MooseBoys可能。這可能是一個被小心處理的動物,但我想要一個動物來玩。 –