已采納回答 / onemoo
準確地表達應(yīng)該是:p是一個指向const int型變量的指針,所以p無法修改其指向的int對象。但p本身不是const的,所以能被改變(也就是可以指向別的int)。*p是解引用p以得到p指向的對象。代碼中第一個*p得到x,但只是用來讀取x的值,并沒有修改x的內(nèi)容。然后代碼將y的地址賦予了p,再次*p時就得到了y,同樣代碼中也沒有更改y的內(nèi)容,所以說沒有改變*p的值。 ?那個講解只說“*p”容易會引起理解上的歧義。還應(yīng)該注意到一點:p是一個指向const int的指針,說明p可以指向const int對象,...
2015-06-22
int getMax(int a, int b){return a > b ? a : b;}
int getMax(int *a) { int maxNum = a[0]; for(int i = 1; i < 3; i++) { if(maxNum < a[i]){maxNum = a[i];}}return maxNum; } int main(void) { int numArr[3] = {3, 8, 6}; cout << getMax(3, 6) << endl;
cout << getMax(numArr) << endl;
return 0;
}
int getMax(int *a) { int maxNum = a[0]; for(int i = 1; i < 3; i++) { if(maxNum < a[i]){maxNum = a[i];}}return maxNum; } int main(void) { int numArr[3] = {3, 8, 6}; cout << getMax(3, 6) << endl;
cout << getMax(numArr) << endl;
return 0;
}
已采納回答 / onemoo
或的關(guān)系。但注意這里有坑:函數(shù)在傳參時,參數(shù)是可以進行自動轉(zhuǎn)換的。假如調(diào)用函數(shù)時傳的參數(shù)類型沒有完全匹配任何一個可重載函數(shù),而且都可以進行類型轉(zhuǎn)換的話,編譯器會報歧義錯誤的。
2015-06-20
const int* p=&a 等價于 const int *p=&a;
int x=3; 等價于 int x=3; 建議將& 與 *符號位于 類型聲明后 (int& y=x; 而不是 int &y=x;)以便于新同學區(qū)分取址符
int &y=x; int& y=x;
int x=3; 等價于 int x=3; 建議將& 與 *符號位于 類型聲明后 (int& y=x; 而不是 int &y=x;)以便于新同學區(qū)分取址符
int &y=x; int& y=x;
2015-06-16