中小学生学习C++,知识和能力的提升重在积累,梁爸将孩子们平时学习、竞赛、考级中遇到的各类曾经出错,容易忽略、比较分散知识点,逐步整理成学习笔记,统一收录在#C++学习笔记合集中,方便同学们日常翻阅学习。
C++学习笔记:给变量起个“外号”— 引用
在C++的世界里,变量就像一个个小盒子,里面可以放数字、字母等各种东西。 我们今天积累一个小知识:“给变量起个外号!”
这个“外号”在C++里叫“引用”。
你有没有好朋友?
比如一个同学叫“李小明”,他有个外号叫“铁蛋”。 叫“李小明”还是“铁蛋”,我们叫的都是同一个人。
在C++里,我们也可以给变量起一个“外号”,
因此同样的道理,“喊外号 = 喊原名”,指的都是同一个盒子。
语法很简单:
int a = 10; // 有一个盒子叫 a,里面放着 10int &r = a; // 给 a 起一个外号叫 r
但这里的 `&` 不是“取地址”,而是“引用”的标志,可以理解为“外号符号”。
现在:'a'是原名,'r'是外号
它们指向同一个盒子
修改外号 = 修改原名
看这段代码:
int a = 10;int &r = a;r = 99; // 修改外号 rcout << a; // 输出 99
输出的结果是99,而不是a里原来存的10,是不是很神奇?
我们明明没碰 'a',我们改的是 'r',但 'a' 也跟着变了。
因为它们是同一个盒子。
如果这样写:
int a = 10;int b = a; // 这是复制:新盒子 b,里面放 a 的值b = 99; // 只改 b,a 还是 10
这是复制,两个盒子,互不影响。
而引用:
int a = 10;int &r = a; // 不是复制,是外号r = 99; // 改 r = 改 a
复制是双胞胎,引用是同一个人,只是给他取了外号。
看这行:
int &r = a;& 写在类型旁边,表示“引用”
重点:引用必须在“出生时就绑定”,不能后面再改绑到别的变量
int &r; // 错误!引用必须一开始就说是谁的别名r = a; // 也不行
六、练习一下
int a = 10, b = 20;int &r = a; // r 是 a 的外号r = b; // 把 b 的值(20)给 r(也就是给 a)cout << a << " " << b;
请你思考一下,输出是什么?
答案是:20 20 为什么?
r = b; 不是让 r变成 b 的外号
而是"把 b 盒子里的值复制一份,放进 r 指向的盒子里(也就是 a)"
所以 a 变成 20,b 不变
1. 下面代码输出什么?
int x = 5;int &y = x;y = y + 1;cout << x;
2. 引用可以单独存在吗(不绑定任何变量)?
答案:
1. 输出 6(x 变成 6)
2. 不可以,引用必须一开始就绑定
今天我们学会了C++里的“引用”, 它就像一个变量的外号,可以让代码有更好的灵活性。
以后你会在函数、循环、数据结构中经常见到它。
如果内容对您有帮助,
欢迎关注、转发,点赞!!!

您的鼓励是我们最宝贵的动力!!


欢迎添加梁爸的微信


欢迎关注乐源素质公众号


