native pointer

    技术2022-07-11  76

    native pointer

    原生指针就是普通指针,与它相对的是使用起来行为上x像指针,但却不是指针。 说“原生”是指“最简朴最基本的那一种”。因为现在很多东西都抽象化理论化了,所以“以前的那种最简朴最基本的指针”只是一个抽象概念(比如iterator)的表现形式之一。

    泛型指针

    泛型指针有多种含义。

    指void*指针,可以指向任意数据类型,因此具有“泛型”含义。指具有指针特性的泛型数据结构,包含泛型的迭代器、智能指针等。

    广义的迭代器是一种不透明指针,能够实现遍历访问操作。通常所说的迭代器是指狭义的迭代器,即基于C++的STL中基于泛型的iterator_traits实现的类的实例。

    总体来说,泛型指针和迭代器是两个不同的概念,其中的交集则是通常提到的迭代器类。

    智能指针

    智能指针是C++里面的概念: 由于 C++ 语言没有自动内存回收机制,程序员每次得自己处理内存相关问题,但用智能指针便可以有效缓解这类问题。

    引入智能指针可以防止出现悬垂指针的情况 一般是把指针封装到一个称之为智能指针类中,这个类中另外还封装了一个使用计数器,对指针的复制等操作将导致该计数器的值加1,对指针的delete操作则会减1,值为0时,指针为NULL

    注:此文系多年前写作,可能有引用之处。

    Processed: 0.011, SQL: 9