函数调用和函数定义中使用的参数的差异

时间:2021-04-26 07:25:34

标签: c++ function

最近开始学习C++,我不明白为什么在定义一个诸如

的函数时
void change_value (int &b);

但是当你在 main 中调用函数时,

int test = 10;
change_value (test);

您不使用 &test,而是使用变量本身(test)。

1 个答案:

答案 0 :(得分:0)

& 在不同的上下文中有不同的含义。

b 参数使用 & 声明它是 referenceint& 是参数类型 (int&) 的一部分。调用该函数时,您只需传入您希望 int 引用的 b 变量,该引用将绑定到该变量。

如果调用方要在它通过 int 传入的 & 变量之前,这将调用 address-of 运算符以获取地址变量,为变量生成一个 pointer

引用指针是两个完全不同的东西。

相关问题