1 int rats=101; 2 int & rodents=rats;
注意:引用一旦被创建不能更改其与某个变量之间的关系,即引用不能再代表其他变量。
注(什么是左值?):左值参数是可被引用的数据对象,例如变量、数组元素、结构成员、引用和解除引用的指针都是左值。非左值包括字面常量(用引号括起的字符串除外,他们由其地址表示)和包含多项的表达式。
使用 const 引用使函数能够正确生成并使用临时变量。
避免返回函数终止时不在存在的内存单元引用,解决办法:
1 free_throws & clone(free_throws & ft) 2 { 3 ... 4 return ft; 5 } 6 7 clone(ft)=four; //it‘s allowed, four covered ft
const free_throws & clone(free_throws & ft) { ... return ft; } clone(ft)=four; //it‘s not allowed
display(clone(ft)); //it‘s allowed, you can ues it like this
void file_it(ostream & os) { ... } ofstream fout; file_it(fout);
例如:参数 os (其类型为 ostream & )可以指向 ostream 对象(如 cout ),也可以指向 ofstream 对象(如 fout )。
原文:https://www.cnblogs.com/suui90/p/12745441.html