1.值调用的特点是调用时实参仅仅是将其值赋给了形参,因此在函数中对形参的任何修改都不会影响到实参的值。下面看下面代码以及输出结果:
void swap(int x,int y)
{
int temp = x;
x = y;
y = temp;
cout << "x:" << x << " " << "y:" << y << endl;
}
void main()
{
int aa = 10; int bb = 20;
swap(aa,bb);
cout << "aa:" << aa << " " << "bb:" << bb << endl;
while (1);
}
2.引用是一种特殊类型的变量,可以认为他是另一个变量的别名。通过引用名访问变量与通过被引用的变量对变量进行的访问是一样的。
void swap(int &x ,int &y)
{
int temp;
temp = x;
x = y;
y = temp;
cout << "x:" << x << " " << "y:" << y << endl;
}
void main()
{
int aa = 10; int bb = 20;
swap(aa,bb);
cout << "aa:" << aa << " " << "bb:" << bb << endl;
while (1);
}
注意:
(1)创建引用的同时必须初始化引用
(2)一旦初始化应用就不能再改变引用的关系
(3)不能有null引用(空引用),引用必须与合法的存储单元相关联
(4)引用的类型和变量的类型必须相同