[Boost-users] Why don't smart pointers have the same semantics as plain pointers?