引用(reference)给对象起了另外一个名字,相当于别名
1 2 |
int val = 1024; int &rval = val; |
引用在定义时必须初始化,一旦初始化,引用和它初始化的对象将始终绑定在一起。
上面的语句完成后,rval就相当于val的一个别名,他们两个表示相同的对象。
const和引用
1 2 |
int ci = 1024; const int &r1 = ci; |
ci不是常量,可以改变。这里 r1 是是对 ci 的 const 引用,意思是不能通过名字 r1 来改变 ci 的值。
1 2 3 |
const int ci = 1024; int &r1 = ci; //错误:非常量引用指向一个常量对象 const int &r2 = ci; //正确 |