Why is it when reference counting, the copy-constructor increments this->counter but the copy-assignment increments ++*rhs.counter?
I am unable to work out in my head reasons for such. I understand that the std::shared_ptr increments the counter on both copy and assign.