☰
C++ 符号三种场景完整区分
2026/10/17 16:03:42 网站建设 项目流程

一、& 三种场景含义区分

1. 变量定义 / 声明时:&= 引用(别名,共享同一块内存)

语法:类型& 引用名 = 已有变量;

int a = 10; int& b = a; // b是a的别名,二者共用同一片内存
  • 不加&:普通独立变量,单独开辟内存存放数值;
  • 加&:引用变量,不分配新内存,只是原变量别名;修改b,a同步变化;
  • 强制规则:引用定义时必须绑定变量,绑定后无法更换指向。
 2. 函数参数中:& 控制参数传递方式
(1)无 &:值传递,拷贝副本
// 函数内部操作的是参数的副本,修改不会影响外部变量 void func1(int x) { x = 100; }
(2)带 &:引用传递,直接操作外部原变量
// 函数内部直接操作外部变量本身,修改会同步到外部 void func2(int& x) { x = 100; }
 3. 表达式中单独使用:&= 取地址运算符

作用:获取变量在内存中的地址,赋值给指针

int a = 10; int* p = &a; // &a 表示取 a 的内存地址,赋值给指针 p
  • 此时 & 是取地址运算符,与 “引用” 无关。
  • 不加 & 时,a 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询