我發現了這兩個不同的來源,但它們完全一樣。我想知道是否有區別,但我無法弄清楚。這兩個指針代碼有什麼區別
任何人都可以告訴我的區別,我應該什麼時候使用哪些?
這是第一個:
void function1(int *x) {
*x = 100;
}
int main() {
int var1 = 10;
function1(&var1);
cout << var1 << endl;
}
,這是第二個:
void function2(int &x) {
x = 100;
}
int main() {
int var2 = 10;
function2(var2);
cout << var2 << endl;
}
在'function1'中,'nullptr'是一個有效的參數(應該檢查它)。 – Jarod42
有一種風格約定,它傾向於修改對象的指針。 – Jarod42
[Strongly related](http://stackoverflow.com/questions/114180/pointer-vs-reference) –