看不懂,实在看不懂!!!!
想实现自适应的带引用计数的智能指针,比如class A已实现引用计数功能,现在设计一个class A_var的智能指针,在A *pA=get()中已调用_add_ref(),A_var析构时自动调用A::_remove_ref()。参考了一下TAO中的TAO_Pseudo_Var_T <T> ,它居然有下面的代码:
TAO_Pseudo_Var_T <T> ::TAO_Pseudo_Var_T (const TAO_Pseudo_Var_T <T> & p)
: ptr_ (T::_duplicate (p.ptr ()))
{}
想不通,既然T为非特化的,怎么可以调用T::_duplicate()呢?
顺便请教一下实现自适应的带引用计数的类的智能指针如何实现为好?
[解决办法]
那就boost::intrusive_ptr呀。