2010-12-02 249 views
1

可能重複:
Difference between pointer variable and reference variable in C++參考變量和常量指針變量有什麼區別?

這是一個的this question

延續,是一個引用變量 const的指針變量的只是一個名字嗎?如果它們不同,則聲明爲參考變量的變量和聲明爲常量指針變量的變量之間的區別是什麼?

+0

除非你真的打算問一個指針和一個常量指針這之間的區別在於,你鏈接到問題的副本。 – 2010-12-02 07:42:58

+0

這已在您提到的同一問題中得到解答。從第一個答案中,除*之外的所有點都可以重新分配*。 [C++中指針變量和引用變量之間的區別]可能的重複(http://stackoverflow.com/questions/57483/difference-between-pointer-variable-and-reference-variable-in-c) – 2010-12-02 08:45:13

回答

1

好的。問題是沒有像參考變量這樣的東西。引用不是一個變量。這不是一個對象。它實際上沒有大小。它只是原始對象的替代名稱。

檢查:

struct A 
{ 
    int i[5]; 
}; 

int main() 
{ 
    std::cout << (sizeof(A&) == sizeof(A)) << std::endl; 
    std::cout << (typeid(A&) == typeid(A)) << std::endl; 
    return 0; 
} 

A& has the same size as A 
A& has the same type as A 
0

是一個引用變量只是const指針變量的另一個名稱?

如果它們是不同的就是聲明爲一個參考變量,聲明爲一個const變量的指針變量的變量之間的差別號?

他們是完全不同的東西,沒有足夠的空間來解釋你需要知道的一切。閱讀this。其實,閱讀entire FAQ。你會學到很多。

3

只是爲了好玩:)一個引用不能爲NULL,而是一個const指針可以。

+0

@Chusbad:first反應也是:p – 2010-12-02 07:46:11

相關問題