作业帮 > 综合 > 作业

一般分为传值,和传址,这个我是知道的.另外的引用传递底层是用指针实现的,我只记得好像是,请问,如果问有哪三种函数参数传递

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/26 00:56:37
一般分为传值,和传址,这个我是知道的.另外的引用传递底层是用指针实现的,我只记得好像是,请问,如果问有哪三种函数参数传递方式,是哪三种
好像还有一种是传引用吧
再问: 哪里书里有介绍
再答: 那本书记不太清了. 引用只是一个别名,是一个变量或对象的替换名称。引用的地址没有任何意义,因此C++没有提供访问引用本身地址的方法。引用的地址就是它所引用的变量或者对象的地址,对引用的地址所做的操作就是对被引用的变量或对象的地址所做的操作。指针是地址,指针变量要存储地址值,因此要占用存储空间,我们可以随时修改指针变量所保存的地址值,从而指向其他的内存。 在编写程序时,很少直接使用引用,即用一个变量来初始化一个引用(int a; int &b=a),如果这么做,通过变量和引用都可以修改同一块内存的内容,在程序中,就很容易出现问题,不知道此时内存中的值到底是多少了。 引用多数用在函数的形参定义上,在调用函数传参时,我们经常使用指针传递,一是避免在实参占较大内存时发生值的复制,二是完成一些特殊的作用,例如,要在函数中修改实参所指向内存中的内容。同样,使用引用作为函数的形参也能完成指针的功能,在有些情况下还能达到比使用指针更好的效果。 下面,我们以一段程序(如例2-23所示)的讲解作为引用这一小节的结束。 #include //change函数主要用来交换a和b的值 void change(int& a,int& b); void main() { int x=5; int y=3; cout