boost::shared_ptrがoperator ->をオーバーロードしてチェックなどの処理をはさんでいるから。