您的位置:首页 > 其它

原生指针 泛型指针 智能指针 都是什么?

2016-04-14 14:13 246 查看
R.T

A. 原生指针

[align=left] 就是最普通的指针,定义类似: 类型 *变量名;[/align]
[align=left] 与之对比的是使用上有类似指针的功能 实际并不是指针。比如:迭代器[/align]
[align=left] [一个类重载 *和->操作符 那么可以像指针一样使用 但是这种并不是原生的][/align]

B. 泛型指针

[align=left] 第一种就是 void *指针 可以指向任意的数据结构 因此可以称为"泛型"。[/align]
[align=left] 第二种就是指具有指针特性的泛型数据结构 如:泛型迭代器和接下来要说的智能指针。[/align]

C. 智能指针

[align=left] C++中没有自动回收内存的机制,因此出现了智能指针。[/align]
[align=left] 一般我们将一个指针封装到一个智能指针类中,该类中有一个引用计数器。[/align]
[align=left] 对指针的复制等操作会使引用计数+1,delete操作会使引用计数-1。[/align]
[align=left] 计数=0时,指针=NULL。[/align]

参考:

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

感谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: