&
在这种情况下试图理解“”的含义
void af(int& g)
{
g++;
cout<<g;
}
如果您调用此函数并传递变量名称 - 它的行为将与正常相同void(int g)
。我知道,当你写&g
这意味着你正在传递变量的地址g
。但是在这个示例中它意味着什么?
&
在这种情况下试图理解“”的含义
void af(int& g)
{
g++;
cout<<g;
}
如果您调用此函数并传递变量名称 - 它的行为将与正常相同void(int g)
。我知道,当你写&g
这意味着你正在传递变量的地址g
。但是在这个示例中它意味着什么?
这意味着您通过引用传递变量。
实际上,在类型的声明中,它意味着引用,就像:
int x = 42;
int& y = x;
声明对 的引用x
,称为y
。
这&
意味着函数接受变量的地址(或引用),而不是变量的值。
例如,请注意这之间的区别:
void af(int& g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}
而这个(没有&
):
void af(int g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}