2
我試過四處尋找答案,但至今沒有運氣。我的問題是 - 爲什麼參考變量在定義時需要初始化?這是技術原因,還是標準不允許的?爲什麼參考變量需要在定義時初始化?
拿這個代碼,例如:
int number = 42;
int& numberRef;
numberRef = number;
上面是不允許的,但下面的代碼是:
int number = 42;
int& numberRef = number;
爲什麼不能編譯器把一個未初始化的引用變量像一個未初始化指針?有什麼我在這裏失蹤?
引用不能被反彈:有一個句法語義歧義,並且它通過定義指定給一個基準實際上意味着分配給被稱爲對象,由此參考的初始化僅結合所述參考解決引用的對象。 –
如果會有未初始化的引用,爲什麼我們需要它們呢?我們已經有了指針。 – Drop
@Drop,避免在我們的代碼中編寫' - >':) – Chiel