原生指针 泛型指针 智能指针 都是什么?
2016-04-14 14:13
246 查看
R.T
[align=left] 与之对比的是使用上有类似指针的功能 实际并不是指针。比如:迭代器[/align]
[align=left] [一个类重载 *和->操作符 那么可以像指针一样使用 但是这种并不是原生的][/align]
[align=left] 第二种就是指具有指针特性的泛型数据结构 如:泛型迭代器和接下来要说的智能指针。[/align]
[align=left] 一般我们将一个指针封装到一个智能指针类中,该类中有一个引用计数器。[/align]
[align=left] 对指针的复制等操作会使引用计数+1,delete操作会使引用计数-1。[/align]
[align=left] 计数=0时,指针=NULL。[/align]
参考:
RanShW - 泛型指针,原生指针和智能指针
感谢。
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 - 泛型指针,原生指针和智能指针
感谢。
相关文章推荐
- 一、GlassFish简介
- Python3:re.complie用法
- 定时备份数据库
- JAVA MemCache 史无前例的详细讲解【转】
- linux搭建php
- react-native-android-guide
- TypeScript学习笔记一
- QT 添加资源文件
- 动态规划(状态压缩):BZOJ 2621 [Usaco2012 Mar]Cows in a Skyscraper
- iOS代码获取图片主色调
- Node.js实现数据推送
- random 模块
- VC屏幕截图并保存为bmp、jpg、png等格式文件
- IOS-UI学习笔记(超级猜图)
- Android合并两个APP的具体做法(掌握)
- bug管理工具为开发者工作带来哪些改变?
- 160413、生成随机校验码
- $0返回值的含义
- FPGA低级建模---按键去抖动
- android:configChanges