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

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