下列類型聲明中,正確的是
A int &a[4];
B int &*p;
C int &&q;
D int i,*p=&i;
原題就是這樣,求解答
2 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
答案應(yīng)該是 D。
C++ 的引用應(yīng)該被看作是“別名”,不是對(duì)象。
所以
A.?int &a[4];,這是想聲明一個(gè)有 4 個(gè) int 引用的數(shù)組,然而引用不是對(duì)象,所以沒有“引用數(shù)組”這東西。
B.?int &*p;,這是想聲明一個(gè)指向引用類型的指針,同樣由于引用不是對(duì)象,故沒有“引用指針”。
C.?int &&q;,這個(gè) int && 類型是存在的—— && 是C++11標(biāo)準(zhǔn)新增的右值引用類型,然而引用在定義時(shí)必須初始化。這里錯(cuò)在缺少了初值。
D.?int i,*p=&i;,這是在一條語(yǔ)句中聲明了兩個(gè)變量,i 是個(gè) int 變量,p 是個(gè) int 指針,且用前面的 i 的地址作初值(也就是讓 p 指向 i),這樣寫是合法的。
- 2 回答
- 0 關(guān)注
- 1557 瀏覽
添加回答
舉報(bào)
0/150
提交
取消