<分区>
foo(int &bar)
{
bar = 5;
}
这个函数的调用是
int foobar = 2;
foo(foobar);
我是否认为函数参数本质上是“获取”变量的内存地址,但不必在 foo 中取消引用,并且我会更改 foobar 的原始值?在此之前,我的印象是您必须像这样传入内存地址:
foo(&foobar);
然后像这样使用 foo 中的变量:
*bar = 5;
我认为这是错误的吗?我认为,就像很多初学者一样,困惑来自于认为引用就像一个指针,因为它包含一个内存地址,但它从来都不是真正的类型,对吗?只是一个运算符(operator)。