常看到三種類型的方法調用,比如
-
Label::create()
類調用靜態方法的方式 -
p->create()
指針調用方法方式 -
obj.create()
實例調用方法方式
所以后兩種是對象/指針(相當于實例)去調用,第一種是類去調用。后兩種是可以轉換的,比如:
Label *p = Label::create();
p->init();//第二種方式
(*p).init();//第三種方式
后兩種其實是指針和引用的區別,引用也是用指針實現的,指針更寬泛,應用范圍更廣。
- 指針可以為null,引用不可以
- 指針可以多次賦值,引用只在初始化時被賦值一次
- 指針指向的內存區域保存的是地址,地址指向的才是真正的數據;引用是內存區域的別名,本身就是數據所在的內存