引用、return
C语言中没有引用,引用(reference)是c++对c语言的重要扩充。
通俗点说,引用就是“起别名”。比如变量data,和它的引用 RefData。虽然名字不同,但是操作他们的时候,都操作的是相同的内存,所以,不管你改变data还是RefData,内存中的内容都会改变。
例子:
int a; //声明变量a
int& ra = a; //声明一个引用,名字是ra,ra引用了a
注:1)ra声明的时候必须同时给出它到底引用了谁,不能先定义然后再指出 ;
2)引用一旦声明,就不能再修改到其他变量上了。
3)&在此不是求地址运算,而是起标识作用。
4)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
5)不能建立引用的数组。如:int& ref [3]= {2,3,5};//声明ref引用的数组错误
但是可以建立数组的引用。如:const int (&ref)[3] ={2,3,5};
至于引用的作用:待续。。。
return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。有两种形式:
1、没有返回值的函数
不带返回值的return语句只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的break语句的作用。
void swap(int &v1,int &v2) { if(v1==v2) return; int temp=v2; v2=v1; v1=tmp; }
2、具有返回值的函数
任何返回类型不是void的函数都必须返回一个值,而且这个返回值的类型必须和函数的返回类型相同,或者能隐式转化为函数的返回类型。
但也有特例,即允许主函数没有返回值就结束。
返回值:
不要返回局部对象的引用;要返回指向局部对象的指针;引用返回左值(?);返回引用;
未完待扩充。。。