标签: c++ function
最近开始学习C++,我不明白为什么在定义一个诸如
void change_value (int &b);
但是当你在 main 中调用函数时,
int test = 10; change_value (test);
您不使用 &test,而是使用变量本身(test)。
答案 0 :(得分:0)
& 在不同的上下文中有不同的含义。
&
b 参数使用 & 声明它是 reference 到 int。 & 是参数类型 (int&) 的一部分。调用该函数时,您只需传入您希望 int 引用的 b 变量,该引用将绑定到该变量。
b
int
int&
如果调用方要在它通过 int 传入的 & 变量之前,这将调用 address-of 运算符以获取地址变量,为变量生成一个 pointer。
address-of
引用和指针是两个完全不同的东西。