已采納回答 / onemoo
或的關(guān)系。但注意這里有坑:函數(shù)在傳參時(shí),參數(shù)是可以進(jìn)行自動轉(zhuǎn)換的。假如調(diào)用函數(shù)時(shí)傳的參數(shù)類型沒有完全匹配任何一個可重載函數(shù),而且都可以進(jìn)行類型轉(zhuǎn)換的話,編譯器會報(bào)歧義錯誤的。
2015-06-20
已采納回答 / JACK630
上面一組:const int x = 3 表示x為一個常量,其值為3,且x的值是不能改變的;int *y = &x 定義了一個指針變量y,y指向x,y存放的是x的地址,改變y的的值也就相當(dāng)于改變了x的值,這與常量x不能被改變相沖突,所以說有危險(xiǎn);下面一組:可以正常使用;
2015-06-05
最贊回答 / 伊兮塵昔
引用規(guī)避了指針的風(fēng)險(xiǎn),對引用不管怎么賦值都是安全的int &b = a;int *p = a;在程序的應(yīng)用中,可能會不小心就使用p = 1;而不是*p = 1;這樣的賦值語句,而前者直接改地址值的行為是很危險(xiǎn)的,因?yàn)?x1這個地址可能存放的是重要數(shù)據(jù),禁止讀寫的區(qū)域。而引用就不會有這個問題
2015-05-31
最贊回答 / Absolute_Duo
這個應(yīng)該是因?yàn)楹竺娴闹羔槅栴},const int類型的變量不能定義非const類型的指針?biāo)詂onst int a=3;const int *p=&a;這樣應(yīng)該是可以的
2015-05-19