在C++中作出了很大的意義,對於實施例中所有其他聲明的語法:C++參考變量定義語法推理
int i;
i
爲int
int *i;
當i
被廢棄時,結果是int
int i[];
時i
被標註,其結果是和int
int *i[];
時i
被subscriped,然後將結果derefrenced,最終的結果是int
但是當你看參考變量的語法,否則這種一致的推理就會失敗。
int &i = x;
「時的i
的地址被佔用,則結果爲int
」是沒有意義的。
我是否錯過了一些東西,或者這真的是一個例外,以明顯的推理背後的其他sytaxes?如果它是一個例外,爲什麼選擇這個語法?
編輯:爲什麼&
符號可能已經選擇用於這個目的,但不是是否存在是讀取來自上述方式不同的聲明一個普遍一致的方式
可能的重複[爲什麼選擇符號作爲C++中引用的符號?](http://stackoverflow.com/questions/670154/why-was-the-ampersand-chosen-as-the-symbol- for-references-in-c) –
此外,即使函數指針聲明語法與其餘部分一致。 'int(* i)(long)',當'i'被解析時,結果以'long'作爲參數被調用,最終的結果是一個'int'。 – Vaelus