int main(){int x = 10;printf("%d\n", inc(x));printf("%d\n", x);return 0;}int inc(int n){n = n+1;return n;}
若程式這樣寫,則印出來為:
11
10
因為n與x是不同的變數(called by value)
==============================================
int main(){int x = 10;printf("%d\n", inc(x));printf("%d\n", x);return 0;}int inc(int *n){*n = *n+1;return *n;}
使用指標的方式輸出為:
11
11
========================================
int main(){int x = 10;printf("%d\n", inc(x));printf("%d\n", x);return 0;}int inc(int &n){n = n+1;return n;}
若在function的參數中加上&,則代表int &n = x
(n為x的一個別名,改變n,x會一起變)
這樣輸出也是:
11
11
=========================================
若不准傳進function的參數遭到修改的話,可以使用const
int my_function(const int &in){...}
沒有留言:
張貼留言