use*_*436 4 c++ reference-counting shared-ptr c++11
我需要在我的班级中有一个共享计数器(当计数器变为零时调用某个函数).我可以使用shared_ptr<char>带有删除器的那个,但是这种方法有分配不需要的char并且保持指针的开销.
基本上,我需要引用计数的一部分shared_ptr.我不知道如何利用shared_ptr并避免这种开销.
std共享计数器是否有可移植的C++ 11实现(即,使用标准的c ++ 11,只有标准的互斥锁等)?
PS.计数器不是整个班级独有的.我可能有我班级的对象a1,a2,a3共享同一个计数器.与b1,b2,b3共享不同的计数器.因此,当a1,a2,a3中的最后一个超出范围时(与a1,a2,a3相关)应该发生.当b1,b2,b3中的最后一个超出范围时,应该发生某些事情(与b1,b2,b3相关).
谢谢