最贊回答 / TIMELORD4083146
當const已經修飾一直變量時,再去用指針去指這個變量會很危險,因為指針可以改去該變量的值,與const就有沖突的風險,const int *p=&a和const int * const p=&a是可以的,這樣保證了*p的值不能改變,所以就不會有與const沖突的可能性。
2018-02-13
最贊回答 / 時光_丿
c語言中,函數的參數傳遞是單向傳遞,相當于復制一份給子函數做參數,主函數中的變量并不會發(fā)生改變。&a, &b代表傳遞過來的是2個參數的地址,而自定義函數中,是將2個地址上的值進行交換,雖然這個子函數沒有返回語句,主函數中a和b的值都沒有變化,但是由于a和b指向的地址交換了,從而主函數中ab的值也就交換了,屬于間接交換方式。形參時用*a、*b,代表形參是指針類型,引用時,只能引用指針類型或者其他類型的地址,所以這里在實參引用時,采用了&a、&b
2018-01-31
最新回答 / 小肥肥985
函數默認值:C++函數定義參數默認值必須放到最后面Void fun(int I,int j=5,int k=10);無實參用默認值,否則實參覆蓋默認值函數重載:相同作用域內 同一函數名參數個數和參數類型不同返回值類型可以編譯過程中計算機根據參數類型來更該函數名稱:getMax(int x,int y,int z);------getMax_int_int_int;重載好處?內聯函數:(關鍵字:inline)編譯時將函數體代碼和實參代替函數調用語句,速度快定義時:inline max(int a,int b...
2017-11-12
最贊回答 / 慕絲1572740
cout <<getMax(numArr,3)<< endl; 中numArr 指的是數據的首地址,是一個指針;如果將其修改成numArr[2],則是指數組中的第3個元素,而不是指針;函數重載的時候就會出錯。
2017-11-06