1. 声明引用:别名 改变ref a 都修改源数据 源地址数值
int a = 10;
int& ref = a; // 声明一个引用变量ref,它引用了变量a
为什么要用别名:
1 给变量起一个更容易理解的名子
2 给函数/方法 传参 取这个参数的地址的值 修改的是源数据值 更高效 不多用内存
临时变量:
传入一个没有名字的临时变量5,
int& num -> doubleValue(5) 就是在这个临时变量的内存地址修改 值
int num -> doubleValue(5) 新建内存/变量 再新的地址上计算
2. 取地址操作符:&符号可以用于获取变量的内存地址。例如:
int a = 10;
int* ptr = &a; // 将变量a的地址赋值给指针变量ptr
3. 引用参数:
3.1 修改源数据 int& num
void increment(int& num) {num++; // 修改传入参数的值
}int main() {int a = 10;increment(a); // 传入a的引用cout << a; // 输出11return 0;
}
3.2 创建新内存 不修改源数据 多用内存资源 当值较大时不高效 int num
void increment(int num) {num++; // 修改传入参数的值
}int main() {int a = 10;increment(a); // 传入a的引用cout << a; // 输出11return 0;
}
4. 按位与运算符:&符号也可以用作按位与运算符,用于对两个操作数执行按位与操作。例如:
int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
int result = a & b; // 执行按位与操作,结果为 0001,即1
总结: 就是 取到 传入 变量/零时变量 的源地址上的变量值,进行修改
doubleValue(5) // 传入 零时变量
int a=10
doubleValue(a) // 传入 变量