int main()
{
     int i = 10;
     const int &r = i;    //这里指向常量的引用允许用任意表达式来初始化(即可以用非常量),只是不能通过r来修改i的值,但是可以通过其他途径。
     i = 20;                 //直接修改i的值。
    // r=20;                //错误!不能通过r来修改i的值!
    cout << r << "   " << i << endl;    //r和i都是输出20.引用是i的别名。i的值改变,r(i的别名)的值会同样改变。
    return 0;
}
原文:http://www.cnblogs.com/sanerer/p/6869035.html