&在这种情况下试图理解" "的含义
void af(int& g)
{
g++;
cout<<g;
}
Run Code Online (Sandbox Code Playgroud)
如果你调用这个函数并传递变量名 - 它将像普通一样运行void(int g).我知道,当你写&g这意味着你正在传递变量的地址g.但这个样本意味着什么?
Luc*_*ore 31
这意味着您通过引用传递变量.
事实上,在一个类型的声明中,它意味着引用,就像:
int x = 42;
int& y = x;
Run Code Online (Sandbox Code Playgroud)
声明引用x,调用y.
ceg*_*ult 17
这&意味着函数接受变量的地址(或引用),而不是变量的值.
例如,请注意以下之间的区别:
void af(int& g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个(没有&):
void af(int g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
154860 次 |
| 最近记录: |