已采納回答 / onemoo
你要理解變量類型的重要性。p的類型是指向const int的指針,如果你解引用這個(gè)指針的話,得到的會(huì)是const int類型。p的類型決定了這樣的性質(zhì),這性質(zhì)與p到底指向誰(shuí)是無關(guān)的。所以即使p指向的是個(gè)非const的int對(duì)象,但如果你通過p來訪問所指的內(nèi)容的話,這內(nèi)容還是會(huì)被當(dāng)作const的。就是說你無法通過*p來修改它,所謂的“*p的值無法修改”就是這個(gè)意思。當(dāng)然 i 本身是普通的int,自然可以通過 i 來任意修改了。故const int指針可以指向const int對(duì)象,也可以指向普通的int對(duì)象...
2015-07-09
已采納回答 / onemoo
參數(shù)列表中的 *arr 是可以寫成 int arr[] 的。在函數(shù)聲明的參數(shù)列表中聲明的數(shù)組參數(shù),是會(huì)被視作指針的。抱歉,請(qǐng)忽略上一條回答,我沒有注意到這個(gè)是C++問題!剛才的回復(fù)中可加入的限定符是C語(yǔ)言的特性,在C++中沒有這個(gè)特性。在C++14中,也僅能在[]中加入constexpr這一個(gè)限定符。
2015-07-07
已采納回答 / 康振寧
你是說*這個(gè)嗎?這個(gè)就相當(dāng)與你用int類型的變量一樣,如果你定義一個(gè)int num = 4;那么你后面用這個(gè)變量的時(shí)候還會(huì)加上int嗎?
2015-06-23
已采納回答 / onemoo
準(zhǔn)確地表達(dá)應(yīng)該是:p是一個(gè)指向const int型變量的指針,所以p無法修改其指向的int對(duì)象。但p本身不是const的,所以能被改變(也就是可以指向別的int)。*p是解引用p以得到p指向的對(duì)象。代碼中第一個(gè)*p得到x,但只是用來讀取x的值,并沒有修改x的內(nèi)容。然后代碼將y的地址賦予了p,再次*p時(shí)就得到了y,同樣代碼中也沒有更改y的內(nèi)容,所以說沒有改變*p的值。 ?那個(gè)講解只說“*p”容易會(huì)引起理解上的歧義。還應(yīng)該注意到一點(diǎn):p是一個(gè)指向const int的指針,說明p可以指向const int對(duì)象,...
2015-06-22
已采納回答 / onemoo
或的關(guān)系。但注意這里有坑:函數(shù)在傳參時(shí),參數(shù)是可以進(jìn)行自動(dòng)轉(zhuǎn)換的。假如調(diào)用函數(shù)時(shí)傳的參數(shù)類型沒有完全匹配任何一個(gè)可重載函數(shù),而且都可以進(jìn)行類型轉(zhuǎn)換的話,編譯器會(huì)報(bào)歧義錯(cuò)誤的。
2015-06-20
已采納回答 / JACK630
上面一組:const int x = 3 表示x為一個(gè)常量,其值為3,且x的值是不能改變的;int *y = &x 定義了一個(gè)指針變量y,y指向x,y存放的是x的地址,改變y的的值也就相當(dāng)于改變了x的值,這與常量x不能被改變相沖突,所以說有危險(xiǎn);下面一組:可以正常使用;
2015-06-05
已采納回答 / onemoo
定義本身就是聲明。?換言之,具體分配了存儲(chǔ)空間(生成了代碼)的聲明就是定義。你在main之前定義了那個(gè)函數(shù),同時(shí)也就聲明了它。
2015-05-31
已采納回答 / 夢(mèng)逐花揚(yáng)
在同一個(gè)類中,相同的方法名,參數(shù)列表不相同(參數(shù)的類型或個(gè)數(shù)或參數(shù)的順序),跟返回值類型無關(guān)。
2015-05-03