某些符號有多重含義

    像*和&這樣的符號,既能用做表達式裏的運算符,也能做爲聲明的一部分出現,符號上下文決定了符號的意義。
指針

    int i = 42;
引用

    int &r = i;        //&緊隨類型名出現,所以是聲明的一部分,r是一個引用
運算符

    int *p;            //*緊隨類型名出現,所以是聲明的一部分,p是一個指針。

    p = &i;            //&出如今表達式中,是一個取地址符

    *p = i;             //*出如今表達式中,是一個解引用符。

    int &r2 = *p;   //&緊隨類型名出現,所以是聲明的一部分,r2是一個引用,*出現是在表達式中,是一個解引用符。

    在聲明的語句中,&和*用於組成符合類型;在表達式中他們的角色又轉變成運算符。在不一樣的場景下出現的雖然是同一個符號、可是因爲含義大相徑庭,因此咱們徹底能夠把它看成不一樣的符號來看待。

相關文章
相關標籤/搜索