2015-05-31 97 views
-2

我有一個很深的C經驗,但我是一個C++初學者。引用似乎比指針更易於使用,但它使我發瘋。我認爲所有的引用都可以用指針來代替。就我而言,指針並不難,因爲我花了很多時間來研究它們。在C++程序員中使用引用是否很常見,或者只是推薦?我是否必須在C++中使用引用?

+0

IMO引用vs指針是一個樣式問題,因此沒有正確的答案。 – immibis

+0

在某些情況下(如複製構造函數和一些重載操作符),引用是必需的。但是如果你確實知道指針,我不明白爲什麼它是一個問題。 – deviantfan

回答

1

引用阻止的一件事是指針NULL。如果你想確保傳遞給函數的參數不是NULL,你可以通過引用傳遞。

void func(int& i); // i cannot be NULL 
1

參考不能總是由指針代替:

C a, b, c; 
a = b - c; 

如果沒有爲Coperator-(),它要麼需要接收它的參數:通過複製

  • C operator-(C left, C right); 
    
  • 由地址:

    C operator-(C* left, C* right); 
    

    在這種情況下,呼叫變爲:

    a = &b - &c; 
    

    (已具有在C語言的意思)

  • 或通過使用具有一個新的構建體在C中沒有等價物。這成爲C++中的參考。

還有的questions一個variety可以referconcerning使用與指針引用。

相關問題