2010-11-09 68 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