@cxm-2016
2016-08-29T10:06:01.000000Z
字数 415
阅读 2350
c++ no
int rats = 10;int & rodents = rats;
其中&符号在这里不是取址运算符,而是引用运算符.表示声明一个int类型的变量rodents,并且该变量与rats共用一块内存空间.此时rats与rodents地址相同并且修改其中一个的值另一个也会有相应的变化.
参考
int rats = 101;int & rodents = rats;int * parts = &rats;
也就是说这里rodents与*parts的行为相同
注意:引用必须在声明时初始化,并且不能更改
注意下列三个方法的区别
void fun1(int a);void fun2(int & a);void fun3(int * a);
方法1只是值传递(int a = x)
方法2是引用传递,可以通过修改形参的值来间接修改实参的值(int & a = x)
方法3是引用传递,可以直接通过地址操作修改实参的值(int * a = &x)
