c++返回值问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 05:48:50
定义一个函数的返回值类型为一个类类型,类类型后加&和不加有什么区别?

例如定义了一个Chain类和Chain类中的Delete方法,Delete方法的返回值是Chain类型:

Chain Delete();

和Chain& Delete();有什么区别?

定义一个函数的返回值类型为一个基本数据类型,函数名前加&和不加的区别。

例如定义了一个Chain类和Chain类中的Length方法,Length方法的返回值是int类型:

int Length();

和int &Length();有什么区别?

不加的话叫做值形参,只是从主程序中得到一个值而已,对原来代入的值不会发生改变。加的话叫做变量形参,即会对代入的值改变。比如一个程序,主程序a赋值为1,b赋值为2,函数中将他们交换,最后输出,没加&输出1,2,因为他不改变全局变量,加了输出2,1,改变了全局变量。

&用在这里是引用类型,就函数的返回值的类型是一个引用,甚至可以作为左值。

引用吧。。。