首先什麼是引用和指針呢?
1、引用:相當於一個變量的另一個名稱,對引用的操作就是對變量的直接操作。引用保存着其對象的存儲地址。
2、指針:其實指針變量也是個變量,只是這個變量的類型是指針。這個變量也有內存空間和標識符(變量名稱)。但是指針變量裏面對應的控件存儲是某個內存地址而已。
那麼如何定義引用和指針呢?
1、引用的定義:
語法:數據類型 & 別名=對象名;
int x=5;
int &y=x;
其中的含義爲,&y引用x的地址&x,而y引用的是x的值。如果說x存放的地址爲0001,那麼&y=0001,而y=5
2、指針的定義:
語法:
第一種方式: 類名 * 對象指針名;對象指針名=對象的地址;
第二種方式:類名 * 對象指針名=對象的地址;
----------------------
int a=6;
//第一種定義方式
int *p;
p=&a;
----------------------
//第二種定義方式
int *p=&a;
----------------------
爲什麼要用將指針指向對象都用對象的引用呢?
因爲指針存放的是對象的地址,需要把對象的地址賦給指針,而對象的引用可以傳地址。
*p,p都是什麼意思呢?
其實p是指針本身,而*p是指針p指向的一個對象,也就是上面的 *p代表了a這個對象。
指針如何調用對象的成員呢?
指針→對象成員名;
如何讓指針代替對象調用成員呢?
(* 指針名).對象成員名;
因爲 *p代表的就是指針指向的對象。