L'operazione (a=b) restituisce un riferimento ad a, il const impedisce ulteriori modifiche ad a all'interno dell'espressione.
In pratica il const reference permette di accedere all'elemento "puntato" come se fosse constante, quindi
int a;
const int& r = a;
a = 2 //ok
r = 3 //errore
std::cout<<r; //output: 2