开发者

boost shared_ptr get owner count

I'm using boost::shared_ptr to store a pointer to texture. I'm loading new textures as i need and share them among the program using shared_ptr. If my app is using too much memory i want to remove unused textures to clear memory. Is there a way I can deter开发者_如何转开发mine how many objects are having access to the texture via shared_ptr ?


If it's unused then the shared_ptr will free it automatically. That's the point of shared_ptr. If you are holding a shared_ptr to a texture without actually using it, then you're violating the contract of shared_ptr and should not be using it.


You can use shared_ptr::use_count(), but read the documentation before doing so!


There is use_count(), however note that as the documentation says, it's not necessarily too efficient.


The shared_ptr class has member functions use_count() and unique() to give you access to its usage count.

It's a different question how that information will be useful to you, though.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜