常看到三种类型的方法调用,比如
-
Label::create()
类调用静态方法的方式 -
p->create()
指针调用方法方式 -
obj.create()
实例调用方法方式
所以后两种是对象/指针(相当于实例)去调用,第一种是类去调用。后两种是可以转换的,比如:
Label *p = Label::create();
p->init();//第二种方式
(*p).init();//第三种方式
后两种其实是指针和引用的区别,引用也是用指针实现的,指针更宽泛,应用范围更广。
- 指针可以为null,引用不可以
- 指针可以多次赋值,引用只在初始化时被赋值一次
- 指针指向的内存区域保存的是地址,地址指向的才是真正的数据;引用是内存区域的别名,本身就是数据所在的内存