原生指针,泛型指针和智能指针
A. 原生指针
就是最普通的指针,定义类似: 类型 *变量名;
与之对比的是使用上有类似指针的功能 实际并不是指针。比如:迭代器
[一个类重载 *和->操作符 那么可以像指针一样使用 但是这种并不是原生的]
B. 泛型指针
第一种就是 void *指针 可以指向任意的数据结构 因此可以称为"泛型"。
C. 智能指针
C++中没有自动回收内存的机制,因此出现了智能指针。
一般我们将一个指针封装到一个智能指针类中,该类中有一个引用计数器。
对指针的复制等操作会使引用计数+1,delete操作会使引用计数-1。
计数=0时,指针=NULL。