【发布时间】:2019-08-17 13:18:34
【问题描述】:
我对这段代码 sn-p 感到有点惊讶!调用者正在传递值,但函数如何处理其地址?
void increase1(int &value) {
value++;
}
int main() {
int number = 5;
increase1(number);
}
如果有人详细解释会很有帮助。谢谢。
【问题讨论】:
-
查找“参考”
-
当
&出现在这样的函数参数中(或任何类型名称)时,它是修饰符,而不是运算符。 -
@BenVoigt 所以如果我们将变量声明为
int &i。这到底是什么意思。 -
您只能将未初始化的引用声明作为结构或类中的成员变量。作为引用的局部或全局变量必须立即绑定。例如,您可以有一个循环
for( int i = 0; i < v.size(); ++i ) { int &r = v[i]; /* read and write using r */ }
标签: c++ pass-by-reference pass-by-rvalue-reference