在C++中,每次调用函数时都会重新创建它的形参,并用传入的实参对形参进行初始化。
1 参数类型是非指针情况
例如,有如下函数
void func(char a)
{
a = 'a';
return;
}
使用如下方式调用func()函数
char b = 'b';
func(b);
此时,变量a是func()函数的形参,变量b是func()函数的实参。此时,在func()函数内部会创建一个临时变量保存实参的值,即字符’b’,接下来对该临时变量进行赋值,将其赋值为字符’a’,之后函数返回。此时,变量b的值并没有发生改变,其值依然是字符’b’。其流程如图1所示。