程序设计实习 1 从C走进C++:“引用”的概念和应用

引用的概念:

下面的写法定义了一个引用,并将其初始化为引用某个变量。 类型名 & 引用名 = 某变量名; int n = 4; int & r = n; // r引用了 n, r的类型是

下面的写法定义了一个引用,并将其初始化为引用某个变量。 类型名 & 引用名 = 某变量名; int n = 4; int & r = n; // r引用了 n, r的类型是 int &

下面的写法定义了一个引用,并将其初始化为引用某个变量。 类型名 & 引用名 = 某变量名; int n = 4; int & r = n; // r引用了 n, r的类型是 int &

某个变量的引用,等价于这个变量,相当于该变量的一个别名。int n = 4; int & r = n; r = 4; cout << r; //输出 4 cout << n; n = 5; cout << r;int n = 4; int & r = n; r = 4; cout << r; //输出 4 cout << n; //输出 4 n = 5; cout << r;int n = 4; int & r = n; r = 4; cout << r; //输出 4 cout << n; //输出 4 n = 5; cout << r; //输出5。

定义引用时一定要将其初始化成引用某个变量。

初始化后,它就一直引用该变量,不会再引用别 的变量了。

引用只能引用变量,不能引用常量和表达式。

double a = 4, b = 5; double & r1 = a; double & r2 = r1; // r2也引用 a r2 = 10; cout << a << endl; r1 = b; cout << a << endl;

double a = 4, b = 5; double & r1 = a; double & r2 = r1; // r2也引用 a r2 = 10; cout << a << endl; // 输出 10 r1 = b; cout << a << endl;

double a = 4, b = 5; double & r1 = a; double & r2 = r1; // r2也引用 a r2 = 10; cout << a << endl; // 输出 10 r1 = b; // r1并没有引用b cout << a << endl;

double a = 4, b = 5; double & r1 = a; double & r2 = r1; // r2也引用 a r2 = 10; cout << a << endl; // 输出 10 r1 = b; // r1并没有引用b cout << a << endl; //输出 5

C语言中,如何编写交换两个整型变量值的函数?

打开网易新闻 查看精彩图片

有了C++的引用:

打开网易新闻 查看精彩图片

引用作为函数的返回值:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

常引用:

定义引用时,前面加const关键字,即为“常引用” int n; const int & r = n; r 的类型是

定义引用时,前面加const关键字,即为“常引用” int n; const int & r = n; r 的类型是 const int &

不能通过常引用去修改其引用的内容: int n = 100; const int & r = n; r = 200; //编译错 n = 300; // 没问题

const T & 和T & 是不同的类型!!! T & 类型的引用或T类型的变量可以用来初始化 const T & 类型的引用。 const T 类型的常变量和const T & 类型的引用则 不能用来初始化T &类型的引用,除非进行强制类型 转换。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片