C++ 引用
引用
int& ref_a {a},声明引用 ref_a
- 引用作为一个变量的别名
- 使用是无需解引用运算符
- 不能为空
- 避免值的复制,减少开销
- 常量引用避免引用指向的变量被修改
const int& param - 主要用于函数参数传递和函数返回值,使得函数能够直接修改调用者提供的值
1 | void ref() { |
指针
int* pointer_a {1}, 声明指针 pointer_a
指针直接存储变量的内存地址
直接表现为 16 进制数字,进行四则运算表示地址的偏移
- ```c++
// 加法运算
int arr[5] = {1, 2, 3, 4, 5};
int* ptr = arr;
ptr = ptr + 2; // 移动两个整数的位置,即 arr[2]1
2
3
4
5
6
- ```c++
// 减法
int arr[5] = {1, 2, 3, 4, 5};
int* ptr = &arr[4];
ptr = ptr - 2; // 移动两个整数的位置,即 arr[2]
- ```c++
可以为空
nullptr&操作符是取地址运算符,用于获取变量在内存中的地址*是解引用运算符,用于找到指针所指向的内存的具体内容,*pointerA = *pointerA + 1;语句的作用就是修改了这块内存的内容可以指向栈上的地址
可以指向堆上的地址
1 | void pointer() { |