变量本名与引用的区别是什么?
我知道引用的本质是指针常量,必须要初始化,而且不能改指向,但指向的地址里面的值可以改,但是有个疑问:
int a = 10;
int& b = a;
modify(a);
cout<<a<<endl; //结果为20
//如果我使用的是引用b还可以理解,但这里我使用的是变量本名,函数形参是引用,
//本质上来讲一个是int型,一个是int* const型,为什么不会报错,而且还能修改成功?
void modify(int& ref){
ref = 20;
}