这题如何理解

这题怎么理解?
int _tmain(int argc, _TCHAR* argv[])
{
    int i = 1;
    const int *pi = &i;
    const int *&cipr = pi;
    int j = 2;
    const int *pj = &j;
    cipr = pj;
    i = 3;
    printf("%d", *pi);
    return 0;
}

运行结果是2,为什么?
const int *&cipr = pi;这句该怎么理解?
------解决方案--------------------
cipr是个引用