内容纲要

1.引用于变量之间的关系

1.引用变量和变量用的同一个地址,引用变量可以看做变量的别名

#include <iostream>
using namespace std ;
int b;
int &a = b;
void main()
{
    b = 10;
    cout << b << endl;//输出结果为10
    cout << a << endl;//输出结果为10
    a = 20;
    cout << b << endl;//输出结果为20
    cout << a << endl;//输出结果为20
    system("pause");

}

以上代码说明了他们共用一块内存空间,改变任意值,则对应值会发生改变

2.引用作为函数参数

1.引用作为函数的参数的主要作用是“扩充传递数据的功能”。

(附录)形参与实参的关系

1.在这里说明函数传递的情况,将变量名作为形参和实参,这时传给形参是变量的值,传递是单向的,如果在执行期间形参的值发生变化,并不传递给实参。
2.因为在调用函数时。形参与实参不在同一储存单元。

(附录)指针做形参

2.如果想在函数运行时无返回值的情况下改变实参的值,要用到指针,将形参改变成地址,通过形参指针直接访问实参变量,并改变实参。但有个问题,指针要开辟内存存储地址

3.将形参是引用形变量时即形参是&a,并且没有进行初始化,还可以说没有说名他是那个变量的别名,他们也不占用内存单元。
4.当调用函数时,由实参把变量名传给形参。实参的名字传给了引用变量,形参就成了实参的别名。
5.当把实参传递给引用变量形参时,本质上是吧形参变量取实参的地址,从而使形参实参共享一个储存单元。这就是地址传递方式

引用形参与指针做形参有什么不同?

1)指针需要开辟内存单元,其内容是地址。而引用变量不是独立变量,不单独占用内存单元
2)在调用时,直接输入变量就可以,不像指针输入地址
3)书上说面向对象有用,但我,没有学面向对象

代码示例调换a与b的值

#include <iostream>
using namespace std ;
void Count(int &,int&);
int b=10;
int c = 5;

void main()
{
    cout << b << endl;
    cout << c << endl;
    Count(b,c);
    cout << b << endl;
    cout << c << endl;
    system("pause");

}
void Count(int &x,int &y)
{
    int q;
    q = x;
    x = y;
    y = q;
}

发表评论