2010-11-09 69 views
0

我的朋友给我看了这段代码,他问我输入参数中的&符号是什么?输入功能和符号?

#include<iostream> 
using namespace std; 

void f(int & i, int j) { 
i++; 
j++; 
} 
int main() { 
int i=1, j=2; 
f(i, j); 
cout << (i + j); 
system ("pause"); 
return 0; 
} 

p.s什么是&符号?

+4

“没有真正的程序员会包含一个&符号!” - 跆拳道?!? – delnan 2010-11-09 14:09:49

+0

什么是&sign for?为什么这样做? – 001 2010-11-09 14:10:59

+2

我请你原谅。我是一名真正的程序员,每天都使用'&'标记。 – aschepler 2010-11-09 14:11:01

回答

3

这意味着参数是passed by reference,并且可以通过在f内执行的操作在调用代码中进行更改。

1

看起来像一个非常典型的“你明白参考”的问题。 &表示i通过引用传递给函数。在这个例子中,最终的效果是,您对函数f中的i所做的任何更改都会带回调用函数。

所以,在这个例子中,该计划将输出4。如果i已按值传递,相反,它会输出3如果两个ij被引用传递,它会输出5