引用变量:
&是类型标识符的一部分。 //不是地址运算符。
必须再声明引用变量时进行初始化。
Eg.
int & a = b;
实际上等价于 int * const c = b; 这里引用a和 c的作用相同。
可以通过初始化声明来设置引用,但不能通过赋值来设置。
按引用传递允许被调用的函数能够访问调用函数中的变量。//C只能按值传递。
若想让函数使用传递给它的信息,而不对这些信息进行修改,同时又想使用引用,则应使用常量引用const。
对于形参为const引用的C++函数,如果实参不匹配,则其行为类似于按值传递,为确保原始函数不被修改,将使用临时变量来存储值。
如果函数调用的参数不是左值或与相应的const引用参数的类型不匹配,则C++将创建类型正确的匿名变量,将函数调用的参数的值传递给该匿名变量,并让参数来引用该变量。
应尽可能使用const。1,可以避免无意中修改数据的错误。2,使用const使得函数能够处理const和非const实参,否则只能接受非const数据。3,使函数能够正确生成并使用临时变量。
右值引用 &&