foo(int &bar)
{
bar = 5;
}
这个函数的调用将初学者参考类型参数混乱
int foobar = 2;
foo(foobar);
我是正确的思想,函数参数本质上是“得”变量的内存地址,但不会再有将在foo中被解除引用,并且我会改变foobar的原始值?在此之前我的印象是,你将不得不在内存地址这样的经过:
foo(&foobar);
,然后使用变量中富这样的:
*bar = 5;
我是正确的思想,这是错误的?我认为,就像许多初学者一样,混淆来自于认为引用就像一个指针,因为它拥有一个内存地址,但它从来都不是一种类型?只是一个操作员。
'foo(&bar){}'不是一个合适的C++函数定义。 –
http://stackoverflow.com/questions/620604/difference-between-a-pointer-and-reference-parameter的精确重复? – mydogisbox
不完全是这样,我对于传递指针和传递作为参考之间的区别并不感到困惑,而是你如何使用“引用变量”这么说。 – SirYakalot