(1) 非空區別。在任何情況下都不能使用指向空值的引用。乙個引用總是指向某些物件。而指標可以為空值。
#include
<
iostream
>
#include
<
string
>
using
namespace
std;
intmain(
intargc,
char
*argv)
#include
<
iostream
>
#include
<
string
>
using
namespace
std;
intmain(
intargc,
char
*argv)
執行結果:
22 b = 2 實際上是改變了變數a的值。
(4) 應用區別。 在以下情況下你應該用指標:一是你考慮到存在不指向任何物件的可能(在這種情況下,你能夠設定指標為空),二是你需要在不同的時刻指向不同的物件(在這種情況下,你能夠改變指標的指向)。 如果總是指向乙個物件並且一旦指向乙個物件後就不會改變指向,那麼你應該使用引用。
指標引用和引用指標的區別
c 在傳參的過程中,指標 和指標引用 是有區別的。雖然,我們往往可以通過傳指標然後通過間址訪問來修改指標所指向物件的值,同樣,通過引用也可以直接修改物件的值。但是,當傳指標的時候有乙個問題,就是,我們雖然可以通過指標來修改指標所指向物件的值,但是我們沒有不能直接修改指標的內容 也就是指標變數存放的位...
傳指標和傳指標引用的區別 指標和引用的區別(本質)
指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...
傳指標和傳指標引用的區別 指標和引用的區別(本質)
指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...