预备知识:
1.每次调用函数时,都会重新创建该函数所有的形参,此时所传递的实参将会初始化对应的形参;
2.形参的初始化与变量的初始化一样:如果形参具有非引用类型,则复制实参的值;如果形参为引用类型,则它是实参的别名。
3.非引用形参表示对应形参的局部副本,对这类形参的修改仅仅改变了局部副本的值。一旦函数执行结束,这些局部变量的值也就没有了。
通过下面的程序(交换两个实参的值)来学习上面所提到的知识点。
程序清单1(非引用类型——复制实参):
编译运行后的结果:
Befor swap():
i1 = 25
i2 = 36
After swap():
i1 = 25
i2 = 36
程序清单2(引用类型,是别名,类似于一个人的外号,打外号所代表的这个人一拳等于打真名真姓所代表的这个人一拳):
编译运行后的结果:
Befor swap():
i1 = 25
i2 = 36
After swap():
i1 = 36
i2 = 25
程序清单3(用指针实现):
编译运行后的结果:
Befor swap():
i1 = 25
i2 = 36
After swap():
i1 = 36
i2 = 25
本文介绍了C++中函数参数传递的两种方式:引用形参和非引用形参。非引用形参会在函数调用时复制实参值,导致无法直接改变实参。而引用形参作为实参的别名,能直接影响到实参的值。通过两个程序示例,展示了如何使用这两种形参类型进行数值交换,并分析了它们在交换后的不同结果。
1092

被折叠的 条评论
为什么被折叠?



