C++关于指针型句柄的赋值操作符,有些不明白的地方,新手求帮忙~
就是赋值操作符,比如
B& B::operator=(const B & rhs)
{
++rhs.use; //这个是把引用实参的计数+1了
decr_use(); //就是这一步???
p=rhs.p;
......
};
decr_use()是私有成员函数,定义为
if(--*use==0){dlete p;delete use;}
我就想说在赋值操作符的定义中,执行decr_use()不是将左操作数的计数减一嘛?不是可能提前删除p吗?