引用类型的定义:
int ival = 1024;
int &refVal = ival; // right
int &refVal2; //error. it must be initialized
引用类型不同于指针:
int &refVal = &ival; //error
int *ptr = &ival;
int *&refVal2 = ptr; //right. refVal2是指向指针的一个引用
一旦被定义,引用类型就不能再指向其它对象,比如:
int min_val = 0;
refVal = min_val; //则ival的值被修改为0,而不是refVal指向min_val
其实,引用类型就相当于给一个对象一个别名alias
实际的C++程序员很少使用指向独立对像的引用类型,引用类型主要被用作函数的参数。比如
bool get_next_val(int &next_val);
Matrix operator+(const Matrix&, const Matrix&);