引用與指標的區別

2021-10-03 14:38:31 字數 625 閱讀 7107

事實上,引入「引用」的目的,是利用它實現函式呼叫中的引數傳遞,就是在函式定義時,將形參宣告為實參的引用,也就是說形與實參指的是同乙個變數,因而主調函式中的實參將隨著被調函式中形參值的改變而改變。

下面對引用和指標做乙個比較:

一、引用比指標容易理解,可以避免指標使用中容易出現的錯誤因此,如果引用和指標都可以解決某個問題,那麼最好採用「引用」方式。

二、引用能完成指標的大部分功能,但是有些時候引用不能代替指標,主要包括以下兩種情況:

(1) 指標在定義後如果還沒有確定的指向,可以設定成空指標,待以後再確定具 體指向。而引用不允許是空的它必須是某個存在的變數的別名,即在定義時立即初始化。

(2) 在生存過程中,指標可以從指向乙個變數,轉到指向另乙個變數。而引用不可以,引用定義為某個變數的別名,就一直是該變數的別名,不能其他變數的別名。

例如:int x,y,*p;

p=null; //p現在是空指標

p=&x; //正確,p現在指向x

p=&y; //正確,p現在指向y

int &r=x; //定義r是x的別名,此後r和x就**在一起了

int &r=y; //錯誤!企圖讓r成為另乙個變數的別名

int &r; //錯誤!r必須初始化,說明是哪個變數的別名

引用與指標的區別

1.初始化要求不同。引用在建立的同時必須初始化,而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 2.可修改性不同。引用一旦被初始化,就不能被另乙個物件引用了,而指標在任何時候都可以指向另乙個物件 3.不存在null引用。引用不能使用指向空值的引用,必須指向某物件 而指標可以是null...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但是...