Eme*_*pon 6 c++ smart-pointers c++11
在某些情况下,我希望有一些基于时间的智能指针,例如缓存一些庞大的对象,但如果不使用,会在一定时间后自动释放.当触摸(解除引用)指针时,重新开始倒计时,如果需要在计算期间"锁定"对象,则还可以停止倒计时.就像是:
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();
Run Code Online (Sandbox Code Playgroud)
在boost或其他库中是否存在此类任何内容?
我认为你会因为计时而失去智能指针的好处。只需让某个对象负责管理这些资源并在需要时向其请求资源即可。否则,您需要在使用指针之前检查资源是否仍然加载。这正是共享指针的问题,其中某些其他代码可能会使资源/内存无效,并且您必须始终在使用指针的资源之前验证它。
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |