泛型指针,原生指针和智能指针

1. 泛型指针
泛型指针有多种含义。
(1) 指void*指针,可以指向任意数据类型,因此具有“泛型”含义。
(2) 指具有指针特性的泛型数据结构,包含泛型的迭代器、智能指针等。
广义的迭代器是一种不透明指针,能够实现遍历访问操作。通常所说的迭代器是指狭义的迭代器,即基于C++的STL中基于泛型的iterator_traits实现的类的实例。
总体来说,泛型指针和迭代器是两个不同的概念,其中的交集则是通常提到的迭代器类。
2. 原生指针就是普通指针,与它相对的是使用起来行为上象指针,但却不是指针。
说“原生”是指“最简朴最基本的那一种”。因为现在很多东西都抽象化理论化了,所以“以前的那种最简朴最基本的指针”只是一个抽象概念(比如iterator)的表现形式之一。
3. 智能指针是C++里面的概念:由于 C++ 语言没有自动内存回收机制,程序员每次得自己处理内存相关问题,但用智能指针便可以有效缓解这类问题。
引入智能指针可以防止出现悬垂指针的情况
一般是把指针封装到一个称之为智能指针类中,这个类中另外还封装了一个使用计数器,对指针的复制等操作将导致该计数器的值加1,对指针的delete操作则会减1,值为0时,指针为NULL

你可能感兴趣的:(泛型)