引用 (别名)==>系统识别为常性的指针(从逻辑上看有区别 从系统上没区别)
逻辑上 使用引用比指针更好理解
int &b = a; // 引用
int * const b = &a; // 系统识别
原文件 .cpp -> .i
void fun(int & a)
{
int *p = a;
*a += 10;
*p += 10;
}
int main()
{
int x = 10;
int &r = x;//自身为常性的指针 r里面存放x的地址
fun(x);
fun(r);
return 0;
}
编译过程 .obj
void fun(int * const a)
{
int *p = a;
*a += 10;
*p += 10;
}
int main()
{
int x = 10;
int * const r = &x;//自身为常性的指针
fun(&x);
fun(r);
return 0;
}