22、函数的调用
函数调用做了两件事:用对应的实参初始化函数的形参,并将控制权转移给被调用函数。主调函数的执行被挂起,被调函数开始执行。
23、形参与实参
函数的形参为函数提供了执行已命名的局部存储空间。类似于局部变量,他们的区别是形参是在函数的形参表中定义的,并由调用函数是传递给函数的实参初始化。
实参是一个表达式。
24、引用形参
void swap1 (int v1, int v2)
{
int temp = v2;
v2 = v1;
v1 = temp;
}
void swap2 (int &v1, int &v2)
{
int temp = v2;
v2 = v1;
v1 = temp;
}
int main()
{
int i = 10;
int j = 20;
cout<<"Before swap():/ti:"<<i<<"/tj:"<<j<<endl;
swap1(i, j);
cout<<"After swap1():/ti:"<<i<<"/tj:"<<j<<endl;
swap2(i, j);
cout<<"After swap2():/ti:"<<i<<"/tj:"<<j<<endl;
return 0;
}
结果是不一样的。
引用形参直接关联到其所绑定的对象,而并非这些对象的副本。