C++ 引用和指針區(qū)別
1、指針有自己的一塊空間,而引用只是一個別名;
2、指針可以被初始化為NULL,而引用必須被初始化且必須是一個已有對象的引用;
3、指針和引用使用++運算符的意義不一樣。
指針
指針的特殊之處在于:指針變量相對應(yīng)的內(nèi)存空間存儲的值恰好是某個內(nèi)存地址。這也是指針變量區(qū)別去其他變量的特征之一。例如某個指針的定義如下:
int x = 5; int *ptr = &x;
ptr即是一個指正變量名。通過指針獲取這個指針指向的內(nèi)存中的值稱為解引用。空指針是不能解引用的。
指針內(nèi)存空間的表示如下:
引用
引用(reference)在C++中也是經(jīng)常被用到,尤其是在作為函數(shù)參數(shù)的時候,需要在函數(shù)內(nèi)部修改更新函數(shù)外部的值的時候。首先我們必須明確的一點就是:引用是一種特殊的指針。
引用是一個指向其它對象的常量指針,它保存著所指對象的存儲地址。并且使用的時候會自動解引用,而不需要像使用指針一樣顯式提領(lǐng)。
例如引用的定義如下:
int x = 5; int &y = x;
推薦教程:《C#》