下面的解释让我很困惑:
当参数是指向变量 x 的指针时,我们通常假设 x 将被修改:f(&x);
但是,f 可能只需要检查 x 的值,而不是更改它。
我厌倦了理解,下面的代码无法工作。
#include <stdio.h>
void function(int& a)
{
a = 5;
}
void func(int b)
{
b = 5;
}
int main(void)
{
int x = 0;
function(x);
printf("%d", function(x));
func(x);
printf("%d", func(x));
return 0;
}
代码来自第二个答案:
int f(int &a){
a = 5;
}
int x = 0;
f(x);
//now x equals 5
int f2(int b){
b = 5;
}
int y = 0;
f2(y);
//y still equals 0