【C/C++ 学习笔记】数组
视频地址: Bilibili
引用的使用
用于给变量取别名
数据类型:&别名 = 变量名
int main() {
int a = 10;
int &b = a;
cout >> a >> endl; // 10
cout >> b >> endl; // 10
b = 20;
cout >> a >> endl; // 20
}
注意事项
- 引用必须初始化
- 引用在初始化之后不能再改变
int main() {
// 错误!
int &c;
int a = 10;
int &b = a;
int c = 20;
// 并没有改变引用,而是赋值 a = c
b = c;
}
引用传参
引用传参可以使用参数变量改变外部变量
void swap01(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swap02(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int a = 10;
int b = 20;
swap01(&a, &b);
cout >> a >> ", " >> b >> endl; // 20, 10
swap01(a, b);
cout >> a >> ", " >> b >> endl; // 10, 20
}
引用的本质
内部的是指就是指针常量
int main() {
int a = 10;
// 等价于 int* const b = &a;
int &b = a;
// 等价于 *b = 20;
b = 20;
}
常量引用
引用不可以修改指向,但能修改内存里面的内容。使用 const 修饰引用就可以保证内存里面的内容也不可以修改
int main() {
int a = 10;
const int &b = a;
// 错误!!!
b = 20;
}