C++中引用的使用,我们先回顾下变量
- 变量是一段实际连续存储空间的别名
- 程序中通过变量来申请并命名存储空间
- 通过变量的名字可以使用存储空间
一段连续的存储空间只能有一个别名吗?
C++中引用的概念
在C++中新增了引用的概念
- 引用可以看作一个已定义变量的别名
- 引用的语法:
Type& name = var;
int a = 4;
int& b = a; // b为a的别名
b = 5; // 操作b就是操作a
普通引用在定义时必须用同类型的变量进行初始化。
示例:引用初体验
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 4;
int& b = a;
b = 5;
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("&a = %p\n", &a);
printf("&b = %p\n", &b);
return 0;
}
编译运行结果:
C++对三目运算符做了什么
当三目运算符的可能返回都是变量时,返回的是变量的引用。
当三目运算符的可能返回值有常量时,返回的是值。
int a = 1;
int b = 2;
(a < b ? a : b) = 3; // 正确,返回a或b的引用,可以作为左值
(a < b ? 1 : b) = 4; // 错误,返回1或b的值,不能作为左值