c++ &(取变量内存地址)的几种用法

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; // 输出11
  return 0;
}

3.2 创建新内存 不修改源数据 多用内存资源 当值较大时不高效  int num

void increment(int num) {
  num++; // 修改传入参数的值
}

int main() {
  int a = 10;
  increment(a); // 传入a的引用
  cout << a; // 输出11
  return 0;
}

4. 按位与运算符:&符号也可以用作按位与运算符,用于对两个操作数执行按位与操作。例如:

int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
int result = a & b; // 执行按位与操作,结果为 0001,即1

总结: 就是 取到 传入 变量/零时变量 的源地址上的变量值,进行修改

doubleValue(5) // 传入 零时变量

int a=10

doubleValue(a) // 传入 变量

你可能感兴趣的:(c++,c++,开发语言)