tanto asterisco como símbolo en un parámetro c ++

Estoy leyendo un libro sobre Binary Search Tree y surgió algo extraño.

class BST
{
public:
   void insert(const Comparable & item)

private:
   BinaryNode *root;
   struct BinaryNode
   {
       Comparable element;
       BinaryNode *left;
       BinaryNode *right;
       BinaryNode(const Comparable & theElement, BinaryNode *lt, BinaryNode *rt) : 
          element(theElement), left(lt), right(rt) {}
   }
   void insert(const Comparable & item, BinaryNode * & t) const;
};

losprivate insert la función es una función auxiliar parapublic insert función, yprivate insert La función busca el lugar correcto para insertar usando recursión.

Parte que no entiendo esBinaryNode * & t en el parametro Qué significa eso? Puntero de la dirección det?

Respuestas a la pregunta(2)

Su respuesta a la pregunta