在看C++ Primer 这本书时发现其对引用的解读有些许复杂,于是在这里做一个对其的初步理解与总结
引用含义:总结下来也就是某个变量(对象)的另一个名字,对引用的操作也就是对其绑定的变量(对象)进行操作。换个说法就是对引用的操作和其绑定的变量(对象)的操作完全等价。
引用语法
类型 &引用名 = 与其绑定的变量(对象)名;
特别注意
- 给引用赋值,实际上是给与其绑定的变量(对象)赋值
- 获取引用的值,实际上是获取与其绑定的变量(对象)的值
- 以引用作为初始值,实际上是与引用绑定的变量(对象)作为初始值
- 引用本身不是一个变量(对象),所以不能定义引用的引用
- 定义引用时,程序把引用和他的初始值绑定在一起,而不是把初始值赋值给引用(不知道这么说有没有问题)
引用演示且注意
- &不是求地址运算,而是起标识作用
- 引用类型必须和其绑定的变量(对象)类型相同
#include int main() { int a = 1; double &b = a; //这里就是错误的,其类型和所绑定的变量类型不一致 int &b = a; // 正确 std::cin >> a; }
- 在声明引用的同时必须对其进行初始化
文章源自楠竹林-https://www.nanzl.com/archives/803
#include int main() { int a = 1; int &b1; //错误:必须初始化 int &b1=a; //正确 b = 2; std::cout << &b << std::endl; std::cin >> a; }
- 引用类型的初始值必须是一个对象
#include int main() { int a = 1; int &b = 2; // 错误 int &b = a; // 正确 }文章源自楠竹林-https://www.nanzl.com/archives/803文章源自楠竹林-https://www.nanzl.com/archives/803
评论