2014-10-29 69 views
-1

我是C++新手,我基本上是一個C程序員。目前我正在學習reference.It很混亂。在C中,一個指針是變量的地址,並且有一個不同的黑白指針和指針變量。然而多次指針變量作爲指針變短手。如果指針是一個地址,那麼什麼是引用?

1.我的問題是,引用是什麼意思然後在C++中引用和變量的地址意味着同樣的事情?如果有人將指針與引用區分開來,他/她是指指針變量而不是指針。把指針變量寫成指針?如果否,那麼黑白指針和參考有什麼不同?

2.In C & a = b是違法的。但在C++中它不是。爲什麼?請幫忙,因爲我很困惑它。我曾經搜索過它,但找不到滿意的答案。

+3

將引用看作「別名」。 – tadman 2014-10-29 17:14:15

+2

90%的時間參考是僞裝的常量指針,它具有特殊的語法。 – 2014-10-29 17:16:05

+1

'&a=b;'在C++中無效,就像在C中一樣。 – interjay 2014-10-29 17:16:24

回答

0

指針可以爲空。你可以對指針進行算術運算。

引用不能爲空&必須引用一個對象。你不能算術引用。

+3

當你說「不行」時,小心。 C++通常不會阻止你做某件事,即使這件事完全是瘋狂的。 – tadman 2014-10-29 17:14:46

+1

@tadman:除非您超出語言範圍,所有投注都關閉,否則它們不能爲空。但是這種限制總是隱含的,只要我們不在比賽中如何最藝術地調用UB。 – Deduplicator 2014-10-29 17:17:32

+0

'char * x = NULL; char&y = * x;'你可以無意中做這樣的事情。說它們通常不是NULL,可能更安全,如果它們可能是一個錯誤,那裏的指針往往是NULL,所以在解引用它們時需要特別小心。 – tadman 2014-10-29 17:19:46

相關問題