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

来源:互联网 发布:百度深圳分公司 知乎 编辑:程序博客网 时间:2024/05/30 04:40


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

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


0 0