C++ primer 6.2参数传递

6.2参数传递

调用函数时会重新创建它的形参,并用实参进行初始化
伪代码:
void func(int x){

}

func(5) 调用func并传入实参5,这个过程等同于 形参 int x = 5
当实参的值拷贝给形参时,形参和实参是两个独立的对象,我们说这样的实参被值传递也可以说是函数被传值调用

形参的类型决定了形参和实参的交互方式(形参是什么类型,传入的实参应该是什么类型)

#include<string>
#include <iostream>
using namespace std;
void func(string x) { 
	cout << x << endl;
}
int main()
{
	func(3.14);//这里会报错
	system("pause");
	return 0;
}
#include <iostream>
using namespace std;
void func(int x) { //如果是int类型
	cout << x << endl;
}
int main()
{
    double a = 3.14;
	func(3.14);//结果就会将实参double类型的3.14强转为int类型 输出结果为3
	

	system("pause");
	return 0;
}

当形参是引用类型时,那么它所对应的实参被引用传递,或者说是函数被传引用调用

引用形参是它对应实参的别名

#include <iostream>
using namespace std;
void func(int &x) { //还是上面的函数此时是引用类型的形参
	cout << x << endl;
}
int main()
{
    double a = 3.14;
	func(a);//这里会报错因为,此时的实参a是double类型,引用类型的形参是他对应实参的别名,但是函数形参却是int类型
	

	system("pause");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值